diff --git a/Android/BewoMitarbeiterApp/.idea/gradle.xml b/Android/BewoMitarbeiterApp/.idea/gradle.xml index efad092b5..96fdad910 100644 --- a/Android/BewoMitarbeiterApp/.idea/gradle.xml +++ b/Android/BewoMitarbeiterApp/.idea/gradle.xml @@ -3,9 +3,8 @@ \ No newline at end of file diff --git a/Android/BewoMitarbeiterApp/app/app.iml b/Android/BewoMitarbeiterApp/app/app.iml index fb99e4f6e..8937ea44e 100644 --- a/Android/BewoMitarbeiterApp/app/app.iml +++ b/Android/BewoMitarbeiterApp/app/app.iml @@ -64,14 +64,6 @@ - - - - - - - - @@ -80,6 +72,14 @@ + + + + + + + + @@ -114,9 +114,9 @@ + - diff --git a/Android/BewoMitarbeiterApp/app/build.gradle b/Android/BewoMitarbeiterApp/app/build.gradle index 1eb75bb0b..7eb61621b 100644 --- a/Android/BewoMitarbeiterApp/app/build.gradle +++ b/Android/BewoMitarbeiterApp/app/build.gradle @@ -22,8 +22,11 @@ android { dependencies { //compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' - compile files('libs/gson-2.6.2.jar') - compile files('libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar') +// compile files('libs/gson-2.6.2.jar') +// compile files('libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar') compile 'com.octo.android.robospice:robospice:1.4.14' - compile project(":volley") + compile project(':volley') + compile files('src/libs/gson-2.6.2.jar') + compile files('src/libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar') +// compile files('src/libs/robospice-1.4.14.jar') } diff --git a/Android/BewoMitarbeiterApp/app/src/libs/gson-2.6.2.jar b/Android/BewoMitarbeiterApp/app/src/libs/gson-2.6.2.jar new file mode 100644 index 000000000..9d78626d8 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/libs/gson-2.6.2.jar differ diff --git a/Android/BewoMitarbeiterApp/app/src/libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar b/Android/BewoMitarbeiterApp/app/src/libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar new file mode 100644 index 000000000..3a9797179 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar differ diff --git a/Android/BewoMitarbeiterApp/app/src/libs/robospice-1.4.14.jar b/Android/BewoMitarbeiterApp/app/src/libs/robospice-1.4.14.jar new file mode 100644 index 000000000..4815f32d7 Binary files /dev/null and b/Android/BewoMitarbeiterApp/app/src/libs/robospice-1.4.14.jar differ diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActiviti.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActivity.java similarity index 58% rename from Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActiviti.java rename to Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActivity.java index 7ab9c3464..c58208ded 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActiviti.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatActivity.java @@ -1,750 +1,672 @@ -package beyondsoft.bewomitarbeiterapp; - -import android.app.Activity; -import android.app.Notification; -import android.app.NotificationManager; -import android.app.PendingIntent; -import android.content.ClipData; -import android.content.Context; -import android.content.Intent; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -import android.graphics.PorterDuff; -import android.graphics.PorterDuffXfermode; -import android.graphics.Rect; -import android.graphics.RectF; -import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; -import android.os.AsyncTask; -import android.os.Bundle; -import android.os.Message; -import android.support.v4.app.NotificationCompat; -import android.support.v4.content.IntentCompat; -import android.support.v7.app.ActionBar; -import android.support.v7.app.ActionBarActivity; -import android.text.Html; -import android.text.format.DateFormat; -import android.text.method.ScrollingMovementMethod; -import android.util.Log; -import android.view.KeyEvent; -import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.widget.ArrayAdapter; -import android.widget.Button; -import android.widget.EditText; -import android.widget.ImageView; -import android.widget.ListView; -import android.widget.RelativeLayout; -import android.widget.TextView; -import android.widget.Toast; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.Socket; -import java.net.SocketAddress; -import java.net.UnknownHostException; -import java.nio.charset.StandardCharsets; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; -import java.util.Locale; -import java.util.TimeZone; - -/** - * Created by bib on 03.05.2016. - */ -public class ChatActiviti extends ActionBarActivity{ - - //View Variablen - protected TextView chat; - protected EditText text; - protected Button senden; - - //Server Variablen - public static Socket socket; - protected static final String dstAddress = "192.168.1.115"; //10.0.2.2" - protected static final int dstPort = 5000; - DataOutputStream st; - - String SaveCompletteMS; - - BufferedReader in = null; - - //Design View - protected ListView listView; - protected boolean isMe = true; - protected List chatMessages; - protected ArrayAdapter adapter; - ChatMessageFormat chatMessage; - - - Thread currentlisten; - - //Save/ Load Variblen - File file; - File Unsendfile = null; - //Chat Name - protected String name; - - - //Für Notification - private static boolean isOnStop = false; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.chat); - - //########### Custom Action Bar ################################## - ActionBar action = getSupportActionBar(); - - action.setDisplayShowHomeEnabled(false); - action.setDisplayShowTitleEnabled(false); - - LayoutInflater inflate = LayoutInflater.from(this); - View mCustomView = inflate.inflate(R.layout.custom_menuebar,null); - - - // Initialiesiere die Variablen - TextView titlename = (TextView)mCustomView.findViewById(R.id.PersonalName); - ImageView titlepic = (ImageView)mCustomView.findViewById(R.id.PersonalPic); - - //get Daten aus vorheriger Activity - Bundle zielkorb = getIntent().getExtras(); - name = zielkorb.getString("Name"); - - byte[] bildArray = zielkorb.getByteArray("Bild"); - Bitmap customerImage; - - //ein try catch wäre vorteilhaft || Später - if(bildArray != null) { - customerImage = BitmapFactory.decodeByteArray(bildArray, 0, bildArray.length); - titlepic.setImageBitmap(GetCircleBitmap(customerImage)); - } - - //Online Status listener - /* ImageView img = (ImageView) mCustomView.findViewById(R.id.status); - img.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - ChatActiviti.this.openOptionsMenu(); // activity's onCreateOptionsMenu gets called - //optionsMenu.performIdentifierAction(R.id., 0); - } - });*/ - - - - - titlename.setText(name); - - action.setCustomView(mCustomView); - action.setDisplayShowCustomEnabled(true); - //########################################################################################### - - senden = (Button)findViewById(R.id.Sendebutton); - //chat = (TextView)findViewById(R.id.ChatText); - - //################### Initial Design Variabeln Message Adapter ############################################# - chatMessages = new ArrayList<>(); - - listView = (ListView)findViewById(R.id.list_msg); - - adapter = new MessageAdapter(this, R.layout.item_chat_left,chatMessages); - listView.setAdapter(adapter); - - //############################ Initial Design Variablen ende ############################### - - //########################### Initial Socket ############################################### - try { - MainActivityMitarbeiter.isThreadPause = true; - - socket = MainActivityMitarbeiter.socket; - - in = MainActivityMitarbeiter.in; - //nachricht an server senden welcher name jetz aktiv connected ist - st = new DataOutputStream(socket.getOutputStream()); - }catch(Exception e){/*Fail*/} - - - // MainActivityMitarbeiter.listen.interrupt(); - // MainActivityMitarbeiter.listen = null; - - - - //########################################################################################## - - //############## Safe / Write gedöns ######################################################### - CreateFile(); - - ReadMessageToStorage(); - - //########################################################################################## - - - //Öffnet eine Verbindung zum Server - // new Thread(new OpenConnection()).start(); - - - text = (EditText)findViewById(R.id.editText); - - //Sendet eine Nachricht an den Server/Clienten - senden.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - - //isMe = true; - - if(text.getText().toString().equals("exit")){ - //eine möglich keit die connection zu schließen - // new Thread(new ConnectionClose()).start(); - }else if(!text.getText().toString().equals("")){ - new Thread(new SendMS()).start(); - }else{ - Toast.makeText(ChatActiviti.this, "Sie müssen schon Text eingeben ", Toast.LENGTH_SHORT).show(); - } - - } - }); - - - //Erstelle einen immer horchenden Listener - Thread t = new Thread(new SocketListener()); - t.start(); - - - - //MainActivityMitarbeiter.listen.sus - } - - -//######################### Server/ Client gedöns ################################################## - /*public class OpenConnection implements Runnable{ - public void run(){ - try { - socket = new Socket(dstAddress,dstPort); - // Log.v("Status: ","Vorhanden 3"); - - //nachricht an server senden welcher name jetz aktiv connected ist - st = new DataOutputStream(socket.getOutputStream()); - name=name+"/1"; - byte[] ts = name.getBytes(); - st.write(ts); - st.flush(); - - } catch (Exception e) { - // e.printStackTrace(); - Log.v("Connection: ","Konnte nicht Aufgebaut"); - socket = null; - //methode zur abfrage - - } - } - }*/ - - public class SendMS implements Runnable{ - public void run(){ - String al = text.getText().toString(); - - - - byte[] ts = al.getBytes(); - try{ - if(socket!= null ) { - - //try catch bei catch SaveAfterLoseConnection(); - - - - st.write(ts); - st.flush(); - } - - - listView.post(new Runnable() { - @Override - public void run() { - Calendar c = Calendar.getInstance(); - SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); - String formattedDate = df.format(c.getTime()); - - SaveCompletteMS = text.getText().toString()+"/"+isMe+"%"+formattedDate+"\n"; - - WriteMessagesfromStorage(text.getText().toString()+"/"+isMe+"%"+formattedDate+"\n"); - - chatMessage = new ChatMessageFormat(text.getText().toString(), isMe, formattedDate); - chatMessages.add(chatMessage); - adapter.notifyDataSetChanged(); - - text.setText(""); - - } - }); - }catch(IOException s){ - Log.v("Status: ","Senden einer Nachricht konnte nicht ausgeführt werden. Save wird ausgeführt"); - //Log.v("hallo",); - - - SaveAfterLoseConnection(SaveCompletteMS); - s.printStackTrace(); - } - } - } - - /* public class ConnectionClose implements Runnable{ - public void run(){ - try { - // Log.v("Bin ich Überhaupt", "Hier drinne"); - if (st != null) { - st.flush(); - st.close(); - } - if (socket != null) - socket = null; - // Log.v("Schliesen :","?? Möglich"); - // } - Log.v("Status","Socket succesfull closed"); - }catch(IOException se){ - Log.v("Status: ","Schließen nicht möglich. Es ist ein Fehler aufgetreten"); - } - } - }*/ - - // Erhalte Messages all the time - public class SocketListener implements Runnable{ - - - String str; - long i = 1; - //BufferedReader in = null; - public void run(){ - try{ - //DesignTechnische gründe - Log.v("Komme","ICh den Rein"); - while(true){ - - if (socket != null) { - Log.v("Komme","So wie es aussieht nicht "); - if(socket.isConnected()) { - Log.v("Connection Steht ", "Connection Steht"); - Log.v("Komme","So wie es aussieht nicht2 "); - //final TextView text = (TextView)findViewById(R.id.ChatText); - - final ListView listV = (ListView) findViewById(R.id.list_msg); - - Log.v("Komme","So wie es aussieht nicht 3"); - // in = new BufferedReader(new InputStreamReader(MainActivityMitarbeiter.socket.getInputStream())); - - /*---> da wird das pendant ausgeführt und nicht dieses */ String s = in.readLine(); - Log.v("Komme","So wie es aussieht nicht 4"); - CharSequence cs = text.getText(); - - // wir nehmen mal cs raus - //str = cs + "\r\n" + s; - str = s; - - if (s == null) - break; - - //Design Spezifisch - listV.post(new Runnable() { - @Override - public void run() { - - Calendar c = Calendar.getInstance(); - SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); - String formattedDate = df.format(c.getTime()); - - boolean determind = false; - - WriteMessagesfromStorage(str+"/"+determind+"%"+formattedDate+"\n"); - - chatMessage = new ChatMessageFormat(str, determind, formattedDate); - chatMessages.add(chatMessage); - adapter.notifyDataSetChanged(); - - Log.v("",""); - - if(isOnStop == true){ - SetNotifi("Bärtiger Hanz",str); - } - - } - }); - - i++; - } - } else { - - if (in != null) - in.close(); - } - - // else Log.v("Connection","nicht aufgebaut"); nach tausend versuchen break und fehler ausgabe - - } - - }catch(Exception e){ - Log.v("Status ","Verbindung zum Server wurde seitens dem Server getrennt "); - // Log.e(getClass().getName(),e.getMessage()); - // e.printStackTrace(); - } - } - } -//#################################### Server Client Ende ########################################## - - //########################### Speichere Message für Server bei unsend ##################################### - public void SaveAfterLoseConnection(String UnsendMessage){ - CreateCustomFileForUnSendMessage(); - try{ - FileOutputStream stream = new FileOutputStream(Unsendfile,true); - - try{ - stream.write(UnsendMessage.getBytes()); - }finally { - stream.close(); - } - }catch (Exception e){ - Log.v("Fehler",e.getMessage()); - } - } - - public void SendAfterGetConnection(){ - - //ist eine UnsendMessage File vorhanden - if(Unsendfile != null && socket.isConnected()){ - try{ - FileInputStream stream = new FileInputStream(Unsendfile); - InputStreamReader in = new InputStreamReader(stream); - BufferedReader readLn = new BufferedReader(in); - - String line = readLn.readLine(); - String allLines=""; - - while (line != null) { - allLines += line; - - String[] splitt = line.split("/"); - - if(splitt.length >1 ) { - String[] ArtDate = splitt[1].split("%"); - - final String message = splitt[0]; - final boolean art = Boolean.valueOf(ArtDate[0]); - final String datetime = ArtDate[1]; - - //für jede Gelesene Line Sende Nachricht - new Thread(new SendUnsendMS(message)).start(); - } - line = readLn.readLine(); - } - stream.close(); - in.close(); - Unsendfile.delete(); - }catch(Exception fe){ - Log.v("Status","Ein problem ist im BEreich Unsend Ms Aufgetreten"); - } - //recreate(); - } - } - - public class SendUnsendMS implements Runnable{ - - String al; - - SendUnsendMS(String unMS){ - this.al = unMS; - } - - public void run() { - //String al = text.getText().toString(); - - byte[] ts = al.getBytes(); - try { - if (socket != null && st != null) { - - //try catch bei catch SaveAfterLoseConnection(); - st.write(ts); - st.flush(); - } - }catch(Exception xs){ - - } - } - } - - public void CreateCustomFileForUnSendMessage(){ - try{ - File pfad = getBaseContext().getFilesDir(); - - //Für external Save - //File pfad = getBaseContext().getExternalFilesDir(null); - - //Erstelle das File Objekt - Unsendfile = new File(pfad,name+"_Unsend"+".txt"); - - }catch(Exception e){ - Log.v("Fehler"," Das erstellen/öffnen einer Datei ist Derzeit nicht möglich"); - } - } - - //####################### Ende Unsend Message Gedöns ########################################### - - - - //############### Menue Bereich ################################################################ - - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.menue_chat, menu); - return true; - } - - public boolean onOptionsItemSelected(MenuItem item) { - // Handle item selection - switch (item.getItemId()) { - case R.id.action_delet_Storage: - file.delete(); //Delet aktuell gespeicherte message - recreate(); // ---> gegebenenfals umändern, aber fürs erste reichts - return true; - default: - return super.onOptionsItemSelected(item); - } - } - - //################################################################################################ - - - //############## Setze Notification ############################################################ - - public void SetNotifi(String Username,String message){ - - //Convertiert in Pic Resource in ein Bitmap - //BitmapFactory.decodeResource(getResources(), R.drawable.bslogo) - - NotificationCompat.Builder mBuilder = - new NotificationCompat.Builder(this) - .setSmallIcon(R.drawable.bslogo) - .setContentTitle(Username) - .setContentText(message) - .setAutoCancel(true) - //ab hier neuland - .setDefaults(Notification.DEFAULT_SOUND) - .setVibrate(new long[] { 1000, 1000, 1000, 1000, 1000 }) //Notification.Default_Vibrate - .setLights(Color.YELLOW, 3000, 3000) //Notification.Default_Lights - .setOngoing(true); - //neuland ende - - Intent resultIntent = new Intent(this, ChatActiviti.class); - //versuch ab hier neuland - resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); - //neuland ende - PendingIntent resultPendingIntent = - PendingIntent.getActivity( - this.getApplicationContext(), - 0, - resultIntent, - PendingIntent.FLAG_UPDATE_CURRENT - - ); - NotificationManager mNotifyMgr = - (NotificationManager) getSystemService(NOTIFICATION_SERVICE); - - - mBuilder.setContentIntent(resultPendingIntent); - - mNotifyMgr.notify(001, mBuilder.build()); - } - - //############################################################################################## - - - //################ Activit abfragen ############################################################ - public void onResume() { - // Log.v("Stuss","Hier nochmals on creat aufrufen"); - isOnStop = false; - - MainActivityMitarbeiter.isThreadPause = true; - - super.onResume(); - } - - public void onStop(){ - // Thread t = new Thread(new ConnectionClose()); - // t.start(); - - MainActivityMitarbeiter.isThreadPause = false; - - isOnStop = true; - super.onStop(); - } - - public void onDestroy(){ - // Thread t = new Thread(new ConnectionClose()); - // t.start(); - // currentlisten = null; - MainActivityMitarbeiter.isThreadPause = false; - - super.onDestroy(); - } - //############################################################################################## - - //################# Lade/Speichere Die Messages ################################################ - //create a File - public void CreateFile(){ - - try{ - - File pfad = getBaseContext().getFilesDir(); - - //Für external Save - //File pfad = getBaseContext().getExternalFilesDir(null); - - //Erstelle das File Objekt - //file = new File(pfad,name+".txt"); - - //vorläufig ##### für debug zwecke - file = new File(pfad,"demo"+".txt"); - }catch(Exception e){ - Log.v("Fehler"," Das erstellen/öffnen einer Datei ist Derzeit nicht möglich"); - } - } - - - //Internal Storage - public void WriteMessagesfromStorage(String message){ - try{ - FileOutputStream stream = new FileOutputStream(file,true); - - try{ - stream.write(message.getBytes()); - }finally { - stream.close(); - } - - // Log.v("Status","Text: "+message+" wurde gespeichert." ); - - }catch (Exception e){ - Log.v("Fehler 1 ",e.getMessage()); - } - } - - //Internal storage - public void ReadMessageToStorage(){ - try{ - - // Log.v("Status","Verbindung steht 1"); - int lenght = (int) file.length(); - - byte[] bytes = new byte[lenght]; - - FileInputStream stream = new FileInputStream(file); - - - // Log.v("Status","Verbindung steht 2"); - InputStreamReader in = new InputStreamReader(stream); - - BufferedReader readLn = new BufferedReader(in); - - String line = readLn.readLine(); - String allLines=""; - //Build a readLine konstrukt - while (line != null) { - allLines += line; - - //Funktion für das korrekte anzeigen der Geladenen Nachrichten hier implementieren - //---> <---// - //String[] splitt = line.split("/"); - - // Log.v("Status",line); - - String[] splitt = line.split("/"); - - if(splitt.length >1 ) { - String[] ArtDate = splitt[1].split("%"); //<------------ im code sind als seperator ? gesetzt // lösung einfach alle löschen und neuen chat speichern !! - - final String message = splitt[0]; - - final boolean art = Boolean.valueOf(ArtDate[0]); - - final String datetime = ArtDate[1]; - - listView.post(new Runnable() { - @Override - public void run() { - chatMessage = new ChatMessageFormat(message, art, datetime); - chatMessages.add(chatMessage); - adapter.notifyDataSetChanged(); - } - }); - } - - line = readLn.readLine(); - - - } - - stream.close(); - in.close(); - - // Log.v("Local Storage",allLines); - - }catch(Exception e){ - Log.v("Fehler 2 ",e.getMessage()); - e.printStackTrace(); - } - - - } - - //############################################################################################## - - //################# Convert Bitmap for a circled bitmap ######################################## - private Bitmap GetCircleBitmap(Bitmap bitmap) { - - Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), - bitmap.getHeight(), Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(output); - - int color = Color.RED; - Paint paint = new Paint(); - Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); - RectF rectF = new RectF(rect); - - //bis hierhin war alles final - paint.setAntiAlias(true); - canvas.drawARGB(0, 0, 0, 0); - paint.setColor(color); - canvas.drawOval(rectF, paint); - - paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); - canvas.drawBitmap(bitmap, rect, rect, paint); - - bitmap.recycle(); - - return output; - } - //############################################################################################## - - -} +package beyondsoft.bewomitarbeiterapp; + +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffXfermode; +import android.graphics.Rect; +import android.graphics.RectF; +import android.os.Bundle; +import android.support.v4.app.NotificationCompat; +import android.support.v7.app.ActionBar; +import android.support.v7.app.ActionBarActivity; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; + +import java.io.BufferedReader; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.Socket; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +import soapConnection.DataIdentifier; +import soapConnection.Packet; +import soapConnection.SoapConnectionManager; + +/** + * Created by bib on 03.05.2016. + */ +public class ChatActivity extends ActionBarActivity{ + + //View Variablen + protected TextView chat; + protected EditText text; + protected Button senden; + + //Server Variablen + public static Socket socket; + protected static final String dstAddress = "192.168.1.103"; //10.0.2.2" + protected static final int dstPort = 5000; + DataOutputStream st; + + String SaveCompleteMS; + + BufferedReader in = null; + + //Design View + protected ListView listView; + protected boolean isMe = true; + protected List chatMessages; + protected ArrayAdapter adapter; + ChatMessageFormat chatMessage; + + + Thread currentlisten; + + //Save/ Load Variblen + File file; + File Unsendfile = null; + //Chat Name + protected String name; + protected int personOid; + + //Für Notification + private static boolean isOnStop = false; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.chat); + + ActionBar action = getSupportActionBar(); + + action.setDisplayShowHomeEnabled(false); + action.setDisplayShowTitleEnabled(false); + + LayoutInflater inflate = LayoutInflater.from(this); + View mCustomView = inflate.inflate(R.layout.custom_menuebar,null); + + + // Initialiesiere die Variablen + TextView titlename = (TextView)mCustomView.findViewById(R.id.PersonalName); + ImageView titlepic = (ImageView)mCustomView.findViewById(R.id.PersonalPic); + + //get Daten aus vorheriger Activity + Bundle zielkorb = getIntent().getExtras(); + name = zielkorb.getString("Name"); + personOid = zielkorb.getInt("RecipientOid"); + + byte[] bildArray = zielkorb.getByteArray("Bild"); + Bitmap customerImage; + + //ein try catch wäre vorteilhaft || Später + if(bildArray != null) { + customerImage = BitmapFactory.decodeByteArray(bildArray, 0, bildArray.length); + titlepic.setImageBitmap(GetCircleBitmap(customerImage)); + } + + //Online Status listener + /* ImageView img = (ImageView) mCustomView.findViewById(R.id.status); + img.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + ChatActivity.this.openOptionsMenu(); // activity's onCreateOptionsMenu gets called + //optionsMenu.performIdentifierAction(R.id., 0); + } + });*/ + + titlename.setText(name); + + action.setCustomView(mCustomView); + action.setDisplayShowCustomEnabled(true); + + senden = (Button)findViewById(R.id.Sendebutton); + //chat = (TextView)findViewById(R.id.ChatText); + + chatMessages = new ArrayList<>(); + + listView = (ListView)findViewById(R.id.list_msg); + + adapter = new MessageAdapter(this, R.layout.item_chat_left,chatMessages); + listView.setAdapter(adapter); + + try { + + + socket = MainActivityMitarbeiter.socket; + + in = MainActivityMitarbeiter.in; + //nachricht an server senden welcher name jetz aktiv connected ist + st = new DataOutputStream(socket.getOutputStream()); + }catch(Exception e){/*Fail*/} + + + // MainActivityMitarbeiter.listen.interrupt(); + // MainActivityMitarbeiter.listen = null; + + CreateFile(); + + ReadMessageToStorage(); + + + //Öffnet eine Verbindung zum Server + // new Thread(new OpenConnection()).start(); + + + text = (EditText)findViewById(R.id.editText); + + //Sendet eine Nachricht an den Server/Clienten + senden.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + //isMe = true; + + if(text.getText().toString().equals("exit")){ + //eine möglich keit die connection zu schließen + // new Thread(new ConnectionClose()).start(); + }else if(!text.getText().toString().equals("")){ + new Thread(new MessageSender()).start(); + }else{ + Toast.makeText(ChatActivity.this, "Sie müssen schon Text eingeben ", Toast.LENGTH_SHORT).show(); + } + } + }); + + //Erstelle einen immer horchenden Listener + Thread t = new Thread(new SocketListener()); + t.start(); + + //MainActivityMitarbeiter.listen.sus + } + + /*public class OpenConnection implements Runnable{ + public void run(){ + try { + socket = new Socket(dstAddress,dstPort); + // Log.v("Status: ","Vorhanden 3"); + + //nachricht an server senden welcher name jetz aktiv connected ist + dataOutputStream = new DataOutputStream(socket.getOutputStream()); + name=name+"/1"; + byte[] ts = name.getBytes(); + dataOutputStream.write(ts); + dataOutputStream.flush(); + + } catch (Exception e) { + // e.printStackTrace(); + Log.v("Connection: ","Konnte nicht Aufgebaut"); + socket = null; + //methode zur abfrage + + } + } + }*/ + + public class MessageSender implements Runnable{ + public void run(){ + String al = text.getText().toString(); + + byte[] ts = al.getBytes(); + + + //TODO: Packet erstellen + //ChatActivity. + + try{ + if(socket!= null ) { + Packet p = new Packet(); + p.ChatMessage = text.getText().toString(); + p.SenderPersonOid = SoapConnectionManager.User.getPersonOid().intValue(); + p.ChatDataIdentifier = DataIdentifier.MESSAGE; + p.ChatName = SoapConnectionManager.User.getFullName(); + p.RecipientPersonOid = personOid; + + st.write(p.GetDataStream()); + st.flush(); + } + + // Update der GUI + listView.post(new Runnable() { + @Override + public void run() { + Calendar c = Calendar.getInstance(); + SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); + String formattedDate = df.format(c.getTime()); + + SaveCompleteMS = text.getText().toString()+"/"+isMe+"%"+formattedDate+"\n"; + + WriteMessagesfromStorage(text.getText().toString()+"/"+isMe+"%"+formattedDate+"\n"); + + chatMessage = new ChatMessageFormat(text.getText().toString(), isMe, formattedDate); + chatMessages.add(chatMessage); + adapter.notifyDataSetChanged(); + + text.setText(""); + + } + }); + }catch(IOException s){ + Log.v("Status: ","Senden einer Nachricht konnte nicht ausgeführt werden. Save wird ausgeführt"); + + SaveAfterLoseConnection(SaveCompleteMS); + s.printStackTrace(); + } + } + } + + /* public class ConnectionClose implements Runnable{ + public void run(){ + try { + // Log.v("Bin ich Überhaupt", "Hier drinne"); + if (dataOutputStream != null) { + dataOutputStream.flush(); + dataOutputStream.close(); + } + if (socket != null) + socket = null; + // Log.v("Schliesen :","?? Möglich"); + // } + Log.v("Status","Socket succesfull closed"); + }catch(IOException se){ + Log.v("Status: ","Schließen nicht möglich. Es ist ein Fehler aufgetreten"); + } + } + }*/ + + // Erhalte Messages all the time + public class SocketListener implements Runnable{ + String str; + long i = 1; + //BufferedReader in = null; + public void run(){ + try{ + //DesignTechnische gründe + Log.v("Komme","ICh den Rein"); + while(true){ + + if (socket != null) { + Log.v("Komme","So wie es aussieht nicht "); + if(socket.isConnected()) { + Log.v("Connection Steht ", "Connection Steht"); + Log.v("Komme","So wie es aussieht nicht2 "); + //final TextView text = (TextView)findViewById(R.id.ChatText); + + final ListView listV = (ListView) findViewById(R.id.list_msg); + + Log.v("Komme","So wie es aussieht nicht 3"); + // in = new BufferedReader(new InputStreamReader(MainActivityMitarbeiter.socket.getInputStream())); + + /*---> da wird das pendant ausgeführt und nicht dieses */ String s = in.readLine(); + Log.v("Komme","So wie es aussieht nicht 4"); + CharSequence cs = text.getText(); + + // wir nehmen mal cs raus + //str = cs + "\r\n" + s; + str = s; + + if (s == null) + break; + + //Design Spezifisch + listV.post(new Runnable() { + @Override + public void run() { + + Calendar c = Calendar.getInstance(); + SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); + String formattedDate = df.format(c.getTime()); + + boolean determind = false; + + WriteMessagesfromStorage(str+"/"+determind+"%"+formattedDate+"\n"); + + chatMessage = new ChatMessageFormat(str, determind, formattedDate); + chatMessages.add(chatMessage); + adapter.notifyDataSetChanged(); + + Log.v("",""); + + if(isOnStop == true){ + SetNotify("Bärtiger Hanz",str); + } + + } + }); + + i++; + } + } else { + + if (in != null) + in.close(); + } + + // else Log.v("Connection","nicht aufgebaut"); nach tausend versuchen break und fehler ausgabe + + } + + }catch(Exception e){ + Log.v("Status ","Verbindung zum Server wurde seitens dem Server getrennt "); + // Log.e(getClass().getName(),e.getMessage()); + // e.printStackTrace(); + } + } + } + + public void SaveAfterLoseConnection(String UnsendMessage){ + CreateCustomFileForUnSendMessage(); + try{ + FileOutputStream stream = new FileOutputStream(Unsendfile,true); + + try{ + stream.write(UnsendMessage.getBytes()); + }finally { + stream.close(); + } + }catch (Exception e){ + Log.v("Fehler",e.getMessage()); + } + } + + public void SendAfterGetConnection(){ + //ist eine UnsendMessage File vorhanden + if(Unsendfile != null && socket.isConnected()){ + try{ + FileInputStream stream = new FileInputStream(Unsendfile); + InputStreamReader in = new InputStreamReader(stream); + BufferedReader readLn = new BufferedReader(in); + + String line = readLn.readLine(); + String allLines=""; + + while (line != null) { + allLines += line; + + String[] splitt = line.split("/"); + + if(splitt.length >1 ) { + String[] ArtDate = splitt[1].split("%"); + + final String message = splitt[0]; + final boolean art = Boolean.valueOf(ArtDate[0]); + final String datetime = ArtDate[1]; + + //für jede Gelesene Line Sende Nachricht + new Thread(new SendUnsendMS(message)).start(); + } + line = readLn.readLine(); + } + stream.close(); + in.close(); + Unsendfile.delete(); + }catch(Exception fe){ + Log.v("Status","Ein problem ist im BEreich Unsend Ms Aufgetreten"); + } + //recreate(); + } + } + + public class SendUnsendMS implements Runnable{ + + String al; + + SendUnsendMS(String unMS){ + this.al = unMS; + } + + public void run() { + //String al = text.getText().toString(); + + byte[] ts = al.getBytes(); + try { + if (socket != null && st != null) { + + //try catch bei catch SaveAfterLoseConnection(); + st.write(ts); + st.flush(); + } + }catch(Exception xs){ + + } + } + } + + public void CreateCustomFileForUnSendMessage(){ + try{ + File pfad = getBaseContext().getFilesDir(); + + //Für external Save + //File pfad = getBaseContext().getExternalFilesDir(null); + + //Erstelle das File Objekt + Unsendfile = new File(pfad,name+"_Unsend"+".txt"); + + }catch(Exception e){ + Log.v("Fehler"," Das erstellen/öffnen einer Datei ist Derzeit nicht möglich"); + } + } + + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menue_chat, menu); + return true; + } + + public boolean onOptionsItemSelected(MenuItem item) { + // Handle item selection + switch (item.getItemId()) { + case R.id.action_delet_Storage: + file.delete(); //Delet aktuell gespeicherte message + recreate(); // ---> gegebenenfals umändern, aber fürs erste reichts + return true; + default: + return super.onOptionsItemSelected(item); + } + } + + public void SetNotify(String Username, String message){ + + //Convertiert in Pic Resource in ein Bitmap + //BitmapFactory.decodeResource(getResources(), R.drawable.bslogo) + + NotificationCompat.Builder mBuilder = + new NotificationCompat.Builder(this) + .setSmallIcon(R.drawable.bslogo) + .setContentTitle(Username) + .setContentText(message) + .setAutoCancel(true) + //ab hier neuland + .setDefaults(Notification.DEFAULT_SOUND) + .setVibrate(new long[] { 1000, 1000, 1000, 1000, 1000 }) //Notification.Default_Vibrate + .setLights(Color.YELLOW, 3000, 3000) //Notification.Default_Lights + .setOngoing(true); + //neuland ende + + Intent resultIntent = new Intent(this, ChatActivity.class); + //versuch ab hier neuland + resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); + //neuland ende + PendingIntent resultPendingIntent = + PendingIntent.getActivity( + this.getApplicationContext(), + 0, + resultIntent, + PendingIntent.FLAG_UPDATE_CURRENT + + ); + NotificationManager mNotifyMgr = + (NotificationManager) getSystemService(NOTIFICATION_SERVICE); + + + mBuilder.setContentIntent(resultPendingIntent); + + mNotifyMgr.notify(001, mBuilder.build()); + } + + public void onResume() { + isOnStop = false; + + + + super.onResume(); + } + + public void onStop(){ + // Thread t = new Thread(new ConnectionClose()); + // t.start(); + + + + isOnStop = true; + super.onStop(); + } + + public void onDestroy(){ + // Thread t = new Thread(new ConnectionClose()); + // t.start(); + // currentlisten = null; + + + super.onDestroy(); + } + + public void CreateFile(){ + + try{ + + File pfad = getBaseContext().getFilesDir(); + + //Für external Save + //File pfad = getBaseContext().getExternalFilesDir(null); + + //Erstelle das File Objekt + //file = new File(pfad,name+".txt"); + + //vorläufig ##### für debug zwecke + file = new File(pfad,"demo"+".txt"); + }catch(Exception e){ + Log.v("Fehler"," Das erstellen/öffnen einer Datei ist Derzeit nicht möglich"); + } + } + + //Internal Storage + public void WriteMessagesfromStorage(String message){ + try{ + FileOutputStream stream = new FileOutputStream(file,true); + + try{ + stream.write(message.getBytes()); + }finally { + stream.close(); + } + + // Log.v("Status","Text: "+message+" wurde gespeichert." ); + + }catch (Exception e){ + Log.v("Fehler 1 ",e.getMessage()); + } + } + + //Internal storage + public void ReadMessageToStorage(){ + try{ + + // Log.v("Status","Verbindung steht 1"); + int lenght = (int) file.length(); + + byte[] bytes = new byte[lenght]; + + FileInputStream stream = new FileInputStream(file); + + + // Log.v("Status","Verbindung steht 2"); + InputStreamReader in = new InputStreamReader(stream); + + BufferedReader readLn = new BufferedReader(in); + + String line = readLn.readLine(); + String allLines=""; + //Build a readLine konstrukt + while (line != null) { + allLines += line; + + //Funktion für das korrekte anzeigen der Geladenen Nachrichten hier implementieren + //---> <---// + //String[] splitt = line.split("/"); + + // Log.v("Status",line); + + String[] splitt = line.split("/"); + + if(splitt.length >1 ) { + String[] ArtDate = splitt[1].split("%"); //<------------ im code sind als seperator ? gesetzt // lösung einfach alle löschen und neuen chat speichern !! + + final String message = splitt[0]; + + final boolean art = Boolean.valueOf(ArtDate[0]); + + final String datetime = ArtDate[1]; + + listView.post(new Runnable() { + @Override + public void run() { + chatMessage = new ChatMessageFormat(message, art, datetime); + chatMessages.add(chatMessage); + adapter.notifyDataSetChanged(); + } + }); + } + + line = readLn.readLine(); + } + + stream.close(); + in.close(); + + // Log.v("Local Storage",allLines); + + }catch(Exception e){ + Log.v("Fehler 2 ",e.getMessage()); + e.printStackTrace(); + } + } + + private Bitmap GetCircleBitmap(Bitmap bitmap) { + + Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), + bitmap.getHeight(), Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(output); + + int color = Color.RED; + Paint paint = new Paint(); + Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); + RectF rectF = new RectF(rect); + + //bis hierhin war alles final + paint.setAntiAlias(true); + canvas.drawARGB(0, 0, 0, 0); + paint.setColor(color); + canvas.drawOval(rectF, paint); + + paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); + canvas.drawBitmap(bitmap, rect, rect, paint); + + bitmap.recycle(); + + return output; + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatMessageFormat.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatMessageFormat.java index 4117cd69d..2746cb6f8 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatMessageFormat.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ChatMessageFormat.java @@ -5,13 +5,26 @@ package beyondsoft.bewomitarbeiterapp; */ public class ChatMessageFormat { + // sender, recipient + private int senderPersonOid; + + public int getRecipientPersonOid() { + return recipientPersonOid; + } + + public int getSenderPersonOid() { + return senderPersonOid; + } + + private int recipientPersonOid; + private boolean isMe; private String message; private String datum; - //villeicht eine issend variable einbauen + //villeicht eine isSent-Variable einbauen - ChatMessageFormat(String message, boolean isMe,String datum){ + ChatMessageFormat(String message, boolean isMe, String datum){ this.message = message; this.isMe = isMe; this.datum = datum; diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ContactList.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ContactList.java index 5609a9e48..737233487 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ContactList.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ContactList.java @@ -4,8 +4,6 @@ package beyondsoft.bewomitarbeiterapp; * Created by bib on 07.06.2016. */ public class ContactList { - - private int _id; private String _kontaktname; private String _art; @@ -80,5 +78,4 @@ public class ContactList { public void setPicture(byte[] d){ this._picture = d; } - } diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ContactListItem.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ContactListItem.java new file mode 100644 index 000000000..4048ee970 --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/ContactListItem.java @@ -0,0 +1,80 @@ +package beyondsoft.bewomitarbeiterapp; + +/** + * Created by JettenM on 05.07.2016. + */ +public class ContactListItem { + private int _id; + private String _kontaktname; + private byte[] _picture; + private int _personOid; + + //default Construkt + public ContactListItem(){} + + //Construkt 1 + public ContactListItem(int id, String kontaktname, int personOid, byte[] picture){ + this._id = id; + this._kontaktname = kontaktname; + this._personOid = personOid; + this._picture = picture; + } + + //Construkt 2 + public ContactListItem(String kontaktname, int personOid, byte[] picture){ + this._kontaktname = kontaktname; + this._personOid = personOid; + this._picture = picture; + } + + //Construkt 3 + public ContactListItem(String kontaktname, int personOid){ + this._kontaktname = kontaktname; + this._personOid = personOid; + this._picture = null; + } + + //Construkt4 + public ContactListItem(int id, String kontaktname, int personOid){ + this._id = id; + this._kontaktname = kontaktname; + this._personOid = personOid; + this._picture = null; + } + + //ID + public int getID(){ + return this._id; + } + + public void setID(int id){ + this._id = id; + } + + + // KONTAKT + public String getKontaktName(){ + return this._kontaktname; + } + + public void setKontaktName(String k){ + this._kontaktname = k; + } + + //Picture + public byte[] getPicture(){ + return this._picture; + } + + public void setPicture(byte[] d){ + this._picture = d; + } + + public int get_personOid() { + return _personOid; + } + + public void set_personOid(int _personOid) { + this._personOid = _personOid; + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/DatabaseHandler.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/DatabaseHandler.java index d1ff83cda..7e2f27487 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/DatabaseHandler.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/DatabaseHandler.java @@ -25,7 +25,7 @@ public class DatabaseHandler extends SQLiteOpenHelper { //Table Columns name private static final String KEY_ID ="id"; private static final String KEY_KontaktName = "kontaktname"; - private static final String KEY_ART = "art"; + private static final String KEY_PERSONOID = "personoid"; private static final String KEY_Picture_BLOB = "bild"; @@ -36,8 +36,8 @@ public class DatabaseHandler extends SQLiteOpenHelper { // Erstelle Tabelle | Tabellen construct public void onCreate(SQLiteDatabase db){ String CREATE_CONTACTS_TABLE ="CREATE TABLE "+TABLE_CONTACTS +"("+ - KEY_ID +" INTEGER PRIMARY KEY,"+KEY_KontaktName+ " TEXT,"+ - KEY_ART +" TEXT," + KEY_Picture_BLOB+ " BLOB"+")"; + KEY_ID +" INTEGER PRIMARY KEY,"+KEY_KontaktName+ " TEXT,"+ + KEY_PERSONOID +" INTEGER," + KEY_Picture_BLOB+ " BLOB"+")"; db.execSQL(CREATE_CONTACTS_TABLE); } @@ -52,13 +52,13 @@ public class DatabaseHandler extends SQLiteOpenHelper { } //Add Neuen Contact - void addContact(ContactList contact) { + void addContact(ContactListItem contact) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); //Values übergabe values.put(KEY_KontaktName,contact.getKontaktName()); - values.put(KEY_ART,contact.getArt()); + values.put(KEY_PERSONOID,contact.get_personOid()); values.put(KEY_Picture_BLOB,contact.getPicture()); db.insert(TABLE_CONTACTS,null,values); @@ -66,25 +66,25 @@ public class DatabaseHandler extends SQLiteOpenHelper { } //Hole ein Bestimten Contact - ContactList getContact(int id) { + ContactListItem getContact(int id) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.query(TABLE_CONTACTS, new String[]{KEY_ID,KEY_KontaktName, - KEY_ART,KEY_Picture_BLOB},KEY_ID +"=?",new String[]{String.valueOf(id)} - ,null,null,null,null); + KEY_PERSONOID,KEY_Picture_BLOB},KEY_ID +"=?",new String[]{String.valueOf(id)} + ,null,null,null,null); - if(cursor !=null) + if(cursor !=null) { cursor.moveToFirst(); + } - ContactList clist = new ContactList(Integer.parseInt(cursor.getString(0)),cursor.getString(1), - cursor.getString(2),cursor.getBlob(3)); + ContactListItem clist = new ContactListItem(Integer.parseInt(cursor.getString(0)),cursor.getString(1), Integer.parseInt(cursor.getString(2)),cursor.getBlob(3)); return clist; } //Holle alle Contacts - public List getAllContacts(){ - List contactList = new ArrayList(); + public List getAllContacts(){ + List contactList = new ArrayList(); // Select All Query String selectQuery = "SELECT * FROM " + TABLE_CONTACTS; @@ -94,10 +94,10 @@ public class DatabaseHandler extends SQLiteOpenHelper { // looping through all rows and adding to list if (cursor.moveToFirst()) { do { - ContactList contact = new ContactList(); + ContactListItem contact = new ContactListItem(); contact.setID(Integer.parseInt(cursor.getString(0))); contact.setKontaktName(cursor.getString(1)); - contact.setArt(cursor.getString(2)); + contact.set_personOid(Integer.parseInt(cursor.getString(2))); contact.setPicture(cursor.getBlob(3)); // Adding contact to list @@ -109,12 +109,12 @@ public class DatabaseHandler extends SQLiteOpenHelper { } //updating single Contact - public int updateContact(ContactList contact) { + public int updateContact(ContactListItem contact) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(KEY_KontaktName, contact.getKontaktName()); - values.put(KEY_ART, contact.getArt()); + values.put(KEY_PERSONOID, contact.get_personOid()); values.put(KEY_Picture_BLOB, contact.getPicture()); // updating row @@ -123,10 +123,9 @@ public class DatabaseHandler extends SQLiteOpenHelper { } //Delet single Contact - public void deletContacts(ContactList contact){ + public void deletContacts(ContactListItem contact){ SQLiteDatabase db = this.getWritableDatabase(); - db.delete(TABLE_CONTACTS, KEY_ID + " = ?", - new String[] { String.valueOf(contact.getID()) }); + db.delete(TABLE_CONTACTS, KEY_ID + " = ?", new String[] { String.valueOf(contact.getID()) }); db.close(); } @@ -140,5 +139,13 @@ public class DatabaseHandler extends SQLiteOpenHelper { return cursor.getCount(); } + public byte[] getUserImage(Integer personOid) { + SQLiteDatabase database = this.getReadableDatabase(); + + Cursor cursor = database.query(TABLE_CONTACTS, new String[] {KEY_PERSONOID}, " = " + personOid, null, null, null, null); + cursor.close(); + + return cursor.getBlob(0); + } } diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktAdapter.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktAdapter.java index 26dbe299b..0227b4861 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktAdapter.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktAdapter.java @@ -1,6 +1,7 @@ package beyondsoft.bewomitarbeiterapp; import android.content.Context; +import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; @@ -10,15 +11,11 @@ import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.graphics.RectF; -import android.graphics.drawable.BitmapDrawable; -import android.media.Image; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; -import android.widget.Button; -import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; @@ -26,16 +23,15 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; -import java.util.List; /** * Created by bib on 03.05.2016. */ -public class KontaktAdapter extends ArrayAdapter { +public class KontaktAdapter extends ArrayAdapter { private final Context context; - private final ContactList[] values; - // private final List contactlist; + private final ContactListItem[] values; + // private final List contactlist; private Bitmap bitmaping; ImageView imageView; @@ -46,31 +42,26 @@ public class KontaktAdapter extends ArrayAdapter { Thread getM; Thread getPic; - - public KontaktAdapter(Context context, ContactList[] values) { - super(context, R.layout.kontakt_list_chat,values); + public KontaktAdapter(Context context, ContactListItem[] values) { + super(context, R.layout.kontakt_list_chat, values); this.context = context; this.values = values; } @Override public View getView(int position, View convertView, ViewGroup parent) { - LayoutInflater inflater = (LayoutInflater) context - .getSystemService(Context.LAYOUT_INFLATER_SERVICE); + LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View rowView = inflater.inflate(R.layout.kontakt_list_chat, parent, false); TextView textView = (TextView) rowView.findViewById(R.id.label); minitext = (TextView) rowView.findViewById(R.id.subtitle); - // TextView lasttime = (TextView) rowView.findViewById(R.id.lasttime); ImageView onlinestats = (ImageView)rowView.findViewById(R.id.status); imageView = (ImageView) rowView.findViewById(R.id.logo); - // ImageView Bau die Kontakt View auf textView.setText(values[position].getKontaktName()); - //Textzuweisung auf die methode verlagern if(values[position].getKontaktName().equals("Demo")) { getM = new Thread(new ReadLastMessage(values[position].getKontaktName(), inflater)); getM.start(); @@ -78,12 +69,6 @@ public class KontaktAdapter extends ArrayAdapter { minitext.setText("Hier könnte auch ihre Nachricht stehen"); - Log.v("Bis hierhin","Alles correct"); - - //get last Message from File - //filedaten = ReadLastMessage(values[position].getKontaktName(),inflater); - - //abfrage mit demo ist provisorium weil zurzeit alle auf demo zugreifen würden /*if(values[position].getKontaktName().equals("Demo") && filedaten != null) minitext.setText(filedaten[0]); else @@ -98,49 +83,52 @@ public class KontaktAdapter extends ArrayAdapter { //Konvert byte[] to Image Bitmap i = BitmapFactory.decodeByteArray(values[position].getPicture(),0,values[position].getPicture().length); - getPic = new Thread(new GetCircleBitmap(i)); + + + getPic = new Thread(new CircleBitmapCreator(i)); getPic.start(); - // t.interrupt(); + // t.interrupt(); - //imageView.setImageBitmap(bitmaping); - }else { + // imageView.setImageBitmap(CircleBitmapCreator(i)); + } else { //wenn der kontakt kein bild besitzt dann nimm Default bild //Bitmap customerImage =((BitmapDrawable).getDrawable(R.drawable.katze3)).getBitmap(); - Bitmap bitmap = BitmapFactory.decodeResource(inflater.getContext().getResources(), R.drawable.katze3); - // imageView.setImageResource(R.drawable.katze3); + Bitmap bitmap = decodeSampledBitmapFromResource(inflater.getContext().getResources(), R.drawable.katze3, 100, 100);//BitmapFactory.decodeResource(inflater.getContext().getResources(), R.drawable.katze3); - getPic = new Thread(new GetCircleBitmap(bitmap)); + + + // imageView.setImageResource(CircleBitmapCreator(bitmap)); + + getPic = new Thread(new CircleBitmapCreator(bitmap)); getPic.start(); - // imageView.setImageBitmap(bitmaping); + // imageView.setImageBitmap(CircleBitmapCreator(bitmap)); } //if statement ob kontakt online oder net - if(values[position].getArt().equals("1")) - onlinestats.setImageResource(R.drawable.online); - else if(values[position].getArt().equals("2")) - onlinestats.setImageResource(R.drawable.beschaftigt); - else if(values[position].getArt().equals("3")) - onlinestats.setImageResource(R.drawable.offline); +// if(values[position].getArt().equals("1")) +// onlinestats.setImageResource(R.drawable.online); +// else if(values[position].getArt().equals("2")) +// onlinestats.setImageResource(R.drawable.beschaftigt); +// else if(values[position].getArt().equals("3")) +// onlinestats.setImageResource(R.drawable.offline); return rowView; } - - public class GetCircleBitmap implements Runnable{ + public class CircleBitmapCreator implements Runnable{ Bitmap bitmap; - GetCircleBitmap(Bitmap _bitmap){ + CircleBitmapCreator(Bitmap _bitmap){ this.bitmap = _bitmap; } public void run(){ - final Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), - bitmap.getHeight(), Bitmap.Config.ARGB_8888); + final Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); final Canvas canvas = new Canvas(output); final int color = Color.RED; @@ -160,29 +148,46 @@ public class KontaktAdapter extends ArrayAdapter { bitmaping = output; - Log.v("GET Circled"," Picture"); - - //if(imageView != null) - // imageView.setImageBitmap(output); - - imageView.post(new Runnable() { @Override public void run() { imageView.setImageBitmap(bitmaping); - } }); - - } } + public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int reqHeight) { + final BitmapFactory.Options options = new BitmapFactory.Options(); + options.inJustDecodeBounds = true; + BitmapFactory.decodeResource(res, resId, options); - //Convert Bitmap for a circled bitmap - /*private Bitmap GetCircleBitmap(Bitmap bitmap ) { - final Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), - bitmap.getHeight(), Bitmap.Config.ARGB_8888); + options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight); + + options.inJustDecodeBounds = false; + return BitmapFactory.decodeResource(res, resId, options); + } + + public static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) { + final int height = options.outHeight; + final int width = options.outWidth; + + int inSampleSize = 1; + + if(height > reqHeight || width > reqWidth) { + if(width > height) { + inSampleSize = Math.round((float) height / (float) reqHeight); + } + else { + inSampleSize = Math.round((float) width / (float) reqWidth); + } + } + + return inSampleSize; + } + + /* private Bitmap CircleBitmapCreator(Bitmap bitmap ) { + final Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); final Canvas canvas = new Canvas(output); final int color = Color.RED; @@ -203,8 +208,6 @@ public class KontaktAdapter extends ArrayAdapter { return output; }*/ - - public class ReadLastMessage implements Runnable{ LayoutInflater inflater; @@ -258,28 +261,21 @@ public class KontaktAdapter extends ArrayAdapter { stream.close(); in.close(); + // filedaten =ret; - // filedaten =ret; - - - if(minitext != null) + if(minitext != null) { minitext.setText(ret[0]); + } }catch(Exception e){ Log.v("Fehler 2 ",e.getMessage()); e.printStackTrace(); - // return null; + // return null; } - - - - - } } - - public String[] ReadLastMessage(String filename,LayoutInflater inflater){ + public String[] ReadLastMessage(String filename, LayoutInflater inflater){ try{ File filesDir = inflater.getContext().getFilesDir(); diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActiviti.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActiviti.java deleted file mode 100644 index 67fd226c0..000000000 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActiviti.java +++ /dev/null @@ -1,127 +0,0 @@ -package beyondsoft.bewomitarbeiterapp; - -import android.app.Activity; -import android.app.ListActivity; -import android.content.Intent; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Color; -import android.graphics.drawable.BitmapDrawable; -import android.os.Bundle; -import android.support.v7.app.ActionBarActivity; -import android.util.Log; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.Button; -import android.widget.ImageView; -import android.widget.ListView; -import android.widget.StackView; -import android.widget.TextView; -import android.widget.AdapterView.OnItemClickListener; -import android.widget.Toast; - -import java.io.ByteArrayOutputStream; -import java.util.List; - -/** - * Created by bib on 02.05.2016. - */ -public class KontaktChatActiviti extends ListActivity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - //erstelle für Demo ein pic einmalig - /* ByteArrayOutputStream stream = new ByteArrayOutputStream(); - Bitmap a =((BitmapDrawable)getResources().getDrawable(R.drawable.bslogo)).getBitmap(); - a.compress(Bitmap.CompressFormat.JPEG,0,stream); - byte[] x = stream.toByteArray(); - */ - DatabaseHandler db = new DatabaseHandler(this); - - //Clear Database from Data - /* db.onUpgrade(db.getReadableDatabase(),1,2); - //Add New ContactList - db.addContact(new ContactList("Demo","1",x)); - db.addContact(new ContactList("Peter Fritz","2")); - db.addContact(new ContactList("mattis Schlitz","3")); - db.addContact(new ContactList("jan Detlef","2")); - */ - - - List lc = db.getAllContacts(); - - ContactList[] Klientel = lc.toArray(new ContactList[lc.size()]); - - setListAdapter(new KontaktAdapter(this,Klientel)); - db.close(); - } - -//############### Menue bereiche ########################## -@Override -public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.menu_main_activity_mitarbeiter, menu); - return true; -} - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - - if (id == R.id.action_Logout) { - System.exit(0); - } - - return super.onOptionsItemSelected(item); - } - -//######################################################## - - @Override - protected void onListItemClick(ListView l, View v, int position, long id) { - //get selected items - ContactList selectedValue = (ContactList) getListAdapter().getItem(position); - Toast.makeText(this, selectedValue.getKontaktName(), Toast.LENGTH_SHORT).show(); - - // - - Bundle korb = new Bundle(); - - korb.putString("Name",selectedValue.getKontaktName()); - - Intent in = new Intent(getBaseContext(), ChatActiviti.class); - in.putExtras(korb); - - //gebe bild mit für den Cat - if(selectedValue.getPicture() == null){ - ByteArrayOutputStream stream = new ByteArrayOutputStream(); - Bitmap a = BitmapFactory.decodeResource(getResources(), R.drawable.katze3); - a.compress(Bitmap.CompressFormat.JPEG,0,stream); - byte[] x = stream.toByteArray(); - in.putExtra("Bild",x); - }else - in.putExtra("Bild",selectedValue.getPicture()); - - - - startActivity(in); - - } - - - - - - - -} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActivity.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActivity.java new file mode 100644 index 000000000..54e5d9a61 --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/KontaktChatActivity.java @@ -0,0 +1,158 @@ +package beyondsoft.bewomitarbeiterapp; + +import android.app.ListActivity; +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; +import android.os.Bundle; +import android.util.Log; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.ListView; +import android.widget.Toast; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; +import com.octo.android.robospice.SpiceManager; +import com.octo.android.robospice.UncachedSpiceService; +import com.octo.android.robospice.persistence.exception.SpiceException; +import com.octo.android.robospice.request.listener.RequestListener; + +import org.ksoap2.serialization.PropertyInfo; +import org.ksoap2.serialization.SoapPrimitive; + +import java.io.ByteArrayOutputStream; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.List; + +import entities.ChatPerson; +import soapConnection.JsonSoapPrimitiveRequest; +import soapConnection.SoapCalls; +import soapConnection.SoapConnectionManager; + +/** + * Created by bib on 02.05.2016. + */ +public class KontaktChatActivity extends ListActivity { + + private SpiceManager spiceManager = new SpiceManager(UncachedSpiceService.class); + private DatabaseHandler databaseHandler; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + //erstelle für Demo ein pic einmalig + ByteArrayOutputStream stream = new ByteArrayOutputStream(); + Bitmap a =((BitmapDrawable)getResources().getDrawable(R.drawable.bslogo)).getBitmap(); + a.compress(Bitmap.CompressFormat.JPEG,0,stream); + byte[] x = stream.toByteArray(); + + databaseHandler = new DatabaseHandler(this); + + //Clear Database from Data + //TODO: nicht löschen, sondern updaten + databaseHandler.onUpgrade(databaseHandler.getReadableDatabase(),1,2); + + ArrayList propertyInfos = new ArrayList<>(); + propertyInfos.add(SoapConnectionManager.BuildProperty("pPersonOid", SoapConnectionManager.User.getPersonOid(), Long.class)); + + JsonSoapPrimitiveRequest request = new JsonSoapPrimitiveRequest(SoapCalls.GET_CONTACTS_FOR_PERSON, propertyInfos); + spiceManager.execute(request, new JsonSoapPrimitiveRequestListener()); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_main_activity_mitarbeiter, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + + if (id == R.id.action_Logout) { + System.exit(0); + } + + return super.onOptionsItemSelected(item); + } + + @Override + protected void onListItemClick(ListView l, View v, int position, long id) { + //get selected items + ContactListItem selectedValue = (ContactListItem) getListAdapter().getItem(position); + + Bundle korb = new Bundle(); + + korb.putString("Name", selectedValue.getKontaktName()); + korb.putInt("RecipientOid", selectedValue.get_personOid()); + Log.i("KontaktChatActivity", "EmpfängerOid: " + selectedValue.get_personOid()); + + Intent in = new Intent(getBaseContext(), ChatActivity.class); + in.putExtras(korb); + + //Gib Bild für den Chat mit + if(selectedValue.getPicture() == null){ + ByteArrayOutputStream stream = new ByteArrayOutputStream(); + Bitmap a = BitmapFactory.decodeResource(getResources(), R.drawable.katze3); + a.compress(Bitmap.CompressFormat.JPEG,0,stream); + byte[] x = stream.toByteArray(); + in.putExtra("Bild", x); + }else + in.putExtra("Bild", selectedValue.getPicture()); + + startActivity(in); + } + + @Override + public void onStop(){ + spiceManager.shouldStop(); + super.onStop(); + } + + @Override + protected void onStart() { + super.onStart(); + spiceManager.start(this); + } + + private final class JsonSoapPrimitiveRequestListener implements RequestListener { + + @Override + public void onRequestFailure(SpiceException spiceException) { + Toast.makeText(KontaktChatActivity.this, "An error occured while loading the contact list", Toast.LENGTH_SHORT).show(); + } + + @Override + public void onRequestSuccess(SoapPrimitive soapPrimitive) { + Gson gson = new GsonBuilder().create(); + + Type listType = new TypeToken>(){}.getType(); + + ArrayList result = gson.fromJson(soapPrimitive.toString(), listType); + + for(ChatPerson cp : result) { + databaseHandler.addContact(new ContactListItem(cp.Name, cp.Oid)); + } + + List lc = databaseHandler.getAllContacts(); + + ContactListItem[] Klientel = lc.toArray(new ContactListItem[lc.size()]); + + // TODO: neuen Adapter schreiben + setListAdapter(new KontaktAdapter(KontaktChatActivity.this, Klientel)); + databaseHandler.close(); + } + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/LoginActiviti.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/LoginActiviti.java deleted file mode 100644 index 52c56a41d..000000000 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/LoginActiviti.java +++ /dev/null @@ -1,115 +0,0 @@ -package beyondsoft.bewomitarbeiterapp; - -import android.app.AlertDialog; -import android.content.DialogInterface; -import android.content.Intent; -import android.os.Bundle; -import android.support.v7.app.ActionBarActivity; -import android.view.View; -import android.widget.Button; -import android.widget.EditText; -import android.widget.TextView; -import android.widget.Toast; - -/** - * Created by bib on 02.05.2016. - */ -public class LoginActiviti extends ActionBarActivity { - //##################### Variablen #################### - protected Button loginbutton; - protected Button beendenbutton; - - protected EditText kunnr; - protected EditText user; - protected EditText paswd; - protected String[] MitarbeiterloginString = new String[3]; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.login); - - setzeButtonListener(); - setzeEditText(); - - } - - - - //########################## Action events der Jeweiligen Buttons - public void LoginApp(){ - - //Server Überprüfung mit den werten - - //Hier mus Serveraufruf mit rückgabe wert als string array - - MitarbeiterloginString[0]="placeholder"; - MitarbeiterloginString[1]="placeholder"; - MitarbeiterloginString[2]="placeholder"; - - - if(kunnr.getText().toString().equals(MitarbeiterloginString[0]) && user.getText().toString().equals(MitarbeiterloginString[1]) && paswd.getText().toString().equals(MitarbeiterloginString[2])) { - - startActivity(new Intent(getBaseContext(), MainActivityMitarbeiter.class)); - - }else if(user.getText().toString().equals("demo")){ - - startActivity(new Intent(getBaseContext(), MainActivityMitarbeiter.class)); - - }else{ - - new AlertDialog.Builder(this).setTitle("Fehler").setMessage("Benutzername oder Passwort falsch!").setNeutralButton("Schließen", null).show(); - - kunnr.setText(""); - user.setText(""); - paswd.setText(""); - - } - } - - - - public void LogoutApp(){ - - System.exit(0); - - } - - - public void setzeButtonListener(){ - - //################## Kalender Button ###################### - loginbutton = (Button) findViewById(R.id.Loginbutton); - loginbutton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - - LoginApp(); - - } - }); - - //################# Kassen Button ######################### - beendenbutton = (Button) findViewById(R.id.Beendenbutton); - beendenbutton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - - LogoutApp(); - - } - }); - - } - - public void setzeEditText(){ - kunnr = (EditText) findViewById(R.id.KundennrText); - - user = (EditText) findViewById(R.id.UsernameText); - - paswd = (EditText) findViewById(R.id.PWText); - } - - - -} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/LoginActivity.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/LoginActivity.java new file mode 100644 index 000000000..aef5fd6ce --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/LoginActivity.java @@ -0,0 +1,362 @@ +package beyondsoft.bewomitarbeiterapp; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.annotation.TargetApi; +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Build; +import android.os.Bundle; +import android.support.v7.app.ActionBarActivity; +import android.text.TextUtils; +import android.util.Base64; +import android.util.Log; +import android.view.KeyEvent; +import android.view.View; +import android.view.inputmethod.EditorInfo; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.EditText; +import android.widget.TextView; +import android.widget.Toast; + +import com.android.volley.Request; +import com.android.volley.RequestQueue; +import com.android.volley.Response; +import com.android.volley.VolleyError; +import com.android.volley.toolbox.StringRequest; +import com.android.volley.toolbox.Volley; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.octo.android.robospice.SpiceManager; +import com.octo.android.robospice.UncachedSpiceService; +import com.octo.android.robospice.persistence.exception.SpiceException; +import com.octo.android.robospice.request.listener.RequestListener; + +import org.ksoap2.serialization.PropertyInfo; +import org.ksoap2.serialization.SoapPrimitive; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; + +import javax.crypto.NoSuchPaddingException; + +import soapConnection.ApplicationUser; +import soapConnection.JsonSoapPrimitiveRequest; +import soapConnection.SoapCalls; +import soapConnection.SoapConnectionManager; +import util.SecurityUtils; +import util.Util; + +/** + * Created by bib on 02.05.2016. + */ +public class LoginActivity extends ActionBarActivity { + private CheckBox mRememberMeCheckBoxView; + private EditText mChatCodeView; + private EditText mTenantView; + private EditText mUsernameView; + private EditText mPasswordView; + private View mProgressView; + private View mLoginFormView; + + private SpiceManager spiceManager = new SpiceManager(UncachedSpiceService.class); + + @Override + protected void onCreate(Bundle savedInstanceState) { + + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login); + + mChatCodeView = (EditText) findViewById(R.id.token); + mTenantView = (EditText) findViewById(R.id.tenant); + mUsernameView = (EditText) findViewById(R.id.username); + mPasswordView = (EditText) findViewById(R.id.password); + mRememberMeCheckBoxView = (CheckBox) findViewById(R.id.remember_me_checkbox); + mPasswordView.setOnEditorActionListener(new TextView.OnEditorActionListener() { + @Override + public boolean onEditorAction(TextView textView, int id, KeyEvent keyEvent) { + if (id == R.id.login || id == EditorInfo.IME_NULL) { + attemptLogin(); + return true; + } + return false; + } + }); + + Button mSignInButton = (Button) findViewById(R.id.sign_in_button); + mSignInButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + attemptLogin(); + } + }); + + mLoginFormView = findViewById(R.id.login_form); + mProgressView = findViewById(R.id.login_progress); + + SharedPreferences settings = getSharedPreferences(Util.PREFS_NAME, 0); + String savedToken = settings.getString(Util.PREFS_TOKEN_KEY, null); + String savedTenant = settings.getString(Util.PREFS_TENANT_KEY, null); + String savedUsername = settings.getString(Util.PREFS_USERNAME_KEY, null); + String savedPassword = settings.getString(Util.PREFS_PASSWORD, null); + + if(savedTenant != null && savedToken != null && savedUsername != null && savedPassword != null) { + mRememberMeCheckBoxView.setChecked(true); + + byte[] tokenByteArray = Base64.decode(savedToken, Base64.DEFAULT); + ByteArrayInputStream tokenStream = new ByteArrayInputStream(tokenByteArray); + + byte[] tenantByteArray = Base64.decode(savedTenant, Base64.DEFAULT); + ByteArrayInputStream tenantStream = new ByteArrayInputStream(tenantByteArray); + + byte[] usernameByteArray = Base64.decode(savedUsername, Base64.DEFAULT); + ByteArrayInputStream usernameStream = new ByteArrayInputStream(usernameByteArray); + + byte[] passwordByteArray = Base64.decode(savedPassword, Base64.DEFAULT); + ByteArrayInputStream passwordStream = new ByteArrayInputStream(passwordByteArray); + + try { + mChatCodeView.setText(SecurityUtils.decrypt(tokenStream).toString()); + mTenantView.setText(SecurityUtils.decrypt(tenantStream).toString()); + mUsernameView.setText(SecurityUtils.decrypt(usernameStream).toString()); + mPasswordView.setText(SecurityUtils.decrypt(passwordStream).toString()); + } catch (IOException | NoSuchAlgorithmException | NoSuchPaddingException | InvalidAlgorithmParameterException | InvalidKeyException e) { + e.printStackTrace(); + } + } + } + + @Override + protected void onStart() { + + super.onStart(); + spiceManager.start(this); + } + + @Override + protected void onStop() { + + spiceManager.shouldStop(); + super.onStop(); + } + + private void attemptLogin() { + + mTenantView.setError(null); + mChatCodeView.setError(null); + mUsernameView.setError(null); + mPasswordView.setError(null); + + final String username = mUsernameView.getText().toString(); + final String password = mPasswordView.getText().toString(); + final String tenant = mTenantView.getText().toString(); + String token = mChatCodeView.getText().toString(); + + boolean cancel = false; + View focusView = null; + + if (TextUtils.isEmpty(password)) { + mPasswordView.setError(getString(R.string.error_invalid_input)); + focusView = mPasswordView; + cancel = true; + } + + if (TextUtils.isEmpty(username)) { + mUsernameView.setError(getString(R.string.error_invalid_input)); + focusView = mUsernameView; + cancel = true; + } + + if(TextUtils.isEmpty(tenant)) { + mTenantView.setError(getString(R.string.error_invalid_input)); + focusView = mTenantView; + cancel = true; + } + + if(TextUtils.isEmpty(token)) { + mChatCodeView.setError(getString(R.string.error_invalid_input)); + focusView = mChatCodeView; + cancel = true; + } + + if (cancel) { + focusView.requestFocus(); + } + else { + showProgress(true); + + RequestQueue queue = Volley.newRequestQueue(LoginActivity.this); + String url = SoapCalls.TOKEN_CHECK_URL + token; + + StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener() { + @Override + public void onResponse(String response) { + if(response == null || TextUtils.isEmpty(response)) { + showProgress(false); + + clearSharedPreferences(); + + mPasswordView.setError(getString(R.string.error_invalid_input)); + mUsernameView.setError(getString(R.string.error_invalid_input)); + mChatCodeView.setError(getString(R.string.error_invalid_input)); + mTenantView.setError(getString(R.string.error_invalid_input)); + + return; + } + + ArrayList propertyInfos = new ArrayList<>(); + propertyInfos.add(SoapConnectionManager.BuildProperty("pTenant", tenant, String.class)); + propertyInfos.add(SoapConnectionManager.BuildProperty("pUsername", username, String.class)); + propertyInfos.add(SoapConnectionManager.BuildProperty("pPassword", password, String.class)); + + JsonSoapPrimitiveRequest request = new JsonSoapPrimitiveRequest(SoapCalls.LOGIN_CALL, propertyInfos); + spiceManager.execute(request, new JsonSoapPrimitiveRequestListener()); + } + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + showProgress(false); + Log.e("Error sending request", (error == null ? "error is null" : error.getMessage())); + } + }); + + queue.add(stringRequest); + } + } + + public void rememberMeOnClick(View view) { + CheckBox rememberMeCheckBox = (CheckBox) view; + + if(!rememberMeCheckBox.isChecked()) { + clearSharedPreferences(); + } + } + + private final class JsonSoapPrimitiveRequestListener implements RequestListener { + + @Override + public void onRequestFailure(SpiceException spiceException) { + + showProgress(false); + Log.e("Error", spiceException.getMessage()); + } + + @Override + public void onRequestSuccess(SoapPrimitive soapPrimitive) { + //TODO: UserDC statt bool zurückgeben. Null bei fehlgeschlagenem Login + + if(soapPrimitive == null) { + showProgress(false); + showLoginUIErrors(true, true, true, true); + + Toast.makeText(LoginActivity.this, "Login returned null", Toast.LENGTH_SHORT).show(); + + return; + } + + Gson gson = new GsonBuilder().create(); + + //boolean loginResult = Boolean.valueOf(soapPrimitive.toString()); + //Employee loggedInUser = gson.fromJson(soapPrimitive.toString(), Employee.class); + String abc = soapPrimitive.toString(); + + if(abc != null) { + String[] blubb = abc.split(";"); + SoapConnectionManager.User = new ApplicationUser(blubb[1], blubb[2], Long.valueOf(blubb[0]), Long.valueOf(blubb[3])); + + if(mRememberMeCheckBoxView.isChecked()) { + ByteArrayOutputStream tokenOutputStream = new ByteArrayOutputStream(); + ByteArrayOutputStream tenantOutputStream = new ByteArrayOutputStream(); + ByteArrayOutputStream usernameOutputStream = new ByteArrayOutputStream(); + ByteArrayOutputStream passwordOutputStream = new ByteArrayOutputStream(); + + try { + SecurityUtils.encrypt(mChatCodeView.getText().toString(), tokenOutputStream); + SecurityUtils.encrypt(mTenantView.getText().toString(), tenantOutputStream); + SecurityUtils.encrypt(mUsernameView.getText().toString(), usernameOutputStream); + SecurityUtils.encrypt(mPasswordView.getText().toString(), passwordOutputStream); + + SharedPreferences settings = getSharedPreferences(Util.PREFS_NAME, 0); + SharedPreferences.Editor editor = settings.edit(); + + editor.putString(Util.PREFS_TOKEN_KEY, Base64.encodeToString(tokenOutputStream.toByteArray(), Base64.DEFAULT)); + editor.putString(Util.PREFS_TENANT_KEY, Base64.encodeToString(tenantOutputStream.toByteArray(), Base64.DEFAULT)); + editor.putString(Util.PREFS_USERNAME_KEY, Base64.encodeToString(usernameOutputStream.toByteArray(), Base64.DEFAULT)); + editor.putString(Util.PREFS_PASSWORD, Base64.encodeToString(passwordOutputStream.toByteArray(), Base64.DEFAULT)); + + editor.apply(); + + } catch (IOException | NoSuchAlgorithmException | NoSuchPaddingException | InvalidAlgorithmParameterException | InvalidKeyException e) { + e.printStackTrace(); + } + } + + Intent mainActivityMitarbeiter = new Intent(LoginActivity.this, MainActivityMitarbeiter.class); + LoginActivity.this.startActivity(mainActivityMitarbeiter); + } + else { + showProgress(false); + showLoginUIErrors(true, true, true, true); + } + } + } + + private void showLoginUIErrors(boolean token, boolean tenant, boolean username, boolean password) { + + mChatCodeView.setError(token ? getString(R.string.error_invalid_input) : null); + + mTenantView.setError(tenant ? getString(R.string.error_invalid_input) : null); + + mUsernameView.setError(username ? getString(R.string.error_invalid_input) : null); + + mPasswordView.setError(password ? getString(R.string.error_invalid_input) : null); + } + + private void clearSharedPreferences() { + + SharedPreferences settings = getSharedPreferences(Util.PREFS_NAME, 0); + settings.edit().clear().commit(); + } + + @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2) + private void showProgress(final boolean show) { + // On Honeycomb MR2 we have the ViewPropertyAnimator APIs, which allow + // for very easy animations. If available, use these APIs to fade-in + // the progress spinner. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { + int shortAnimTime = getResources().getInteger(android.R.integer.config_shortAnimTime); + + mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE); + mLoginFormView.animate().setDuration(shortAnimTime).alpha( + show ? 0 : 1).setListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE); + } + }); + + mProgressView.setVisibility(show ? View.VISIBLE : View.GONE); + mProgressView.animate().setDuration(shortAnimTime).alpha( + show ? 1 : 0).setListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mProgressView.setVisibility(show ? View.VISIBLE : View.GONE); + } + }); + } + else { + // The ViewPropertyAnimator APIs are not available, so simply show + // and hide the relevant UI components. + mProgressView.setVisibility(show ? View.VISIBLE : View.GONE); + mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE); + } + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/MainActivityMitarbeiter.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/MainActivityMitarbeiter.java index 68f941f8b..d0e8d97f1 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/MainActivityMitarbeiter.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/MainActivityMitarbeiter.java @@ -17,7 +17,6 @@ import android.widget.Button; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; -import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; @@ -27,6 +26,11 @@ import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; +import soapConnection.DataIdentifier; +import soapConnection.Packet; +import soapConnection.SoapCalls; +import soapConnection.SoapConnectionManager; + public class MainActivityMitarbeiter extends Activity { @@ -34,17 +38,16 @@ public class MainActivityMitarbeiter extends Activity { protected Button chatbutton; protected Button logoutbutton; - - //########### Server Relevante Variablen ####################################################### public static Socket socket; - protected static final String dstAddress = "192.168.1.117"; //10.0.2.2" + protected static final String dstAddress = SoapCalls.DESTINATION_ADDRESS; protected static final int dstPort = 5000; - DataOutputStream st; - public static BufferedReader in = null; - //Name der Zum Server Gesndet wird + DataOutputStream dataOutputStream; + public static BufferedReader in = null; + + //Name, der Zum Server gesendet wird protected String name; - //Name der vom Server Erhalten wird + //Name, der vom Server erhalten wird //protected String recname; File file; @@ -53,16 +56,12 @@ public class MainActivityMitarbeiter extends Activity { public static Thread listen; - public static boolean isThreadPause = false; + //Für Notification private static boolean isOnStop = false; private static boolean ankommenderName = false; - //Testweise - // protected Map MapMessage = new HashMap<>(); - - String personoid; - //############################################################################################## + int personOid; @Override protected void onCreate(Bundle savedInstanceState) { @@ -71,17 +70,11 @@ public class MainActivityMitarbeiter extends Activity { setzeButtonListener(); - // Das ist der Name des Grade benutzen devices - name= "Franz"; + name = SoapConnectionManager.User.getFullName(); - personoid="1"; - //Erstelle für jedes SQLite DatenSatz ein File - // CreateFile(); + personOid = SoapConnectionManager.User.getPersonOid() <= Integer.MAX_VALUE ? SoapConnectionManager.User.getPersonOid().intValue() : 0; - - //Starte hier die Server Connection + Daten receive und speichere daten local in den Datensatz StartServerConnection(); - } @Override @@ -110,7 +103,6 @@ public class MainActivityMitarbeiter extends Activity { public void setzeButtonListener() { - //################## Kalender Button ###################### dokubutton = (Button) findViewById(R.id.Dokubutton); dokubutton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { @@ -125,7 +117,7 @@ public class MainActivityMitarbeiter extends Activity { public void onClick(View v) { startActivity(new Intent(getBaseContext(),KontaktChatActivity.class)); - + //SendAfterGetConnection(); } }); @@ -133,63 +125,55 @@ public class MainActivityMitarbeiter extends Activity { logoutbutton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { - System.exit(0); + System.exit(0); } }); } -//################ Server Gedöns Was im Hintergrund der Gesamten app laufen soll ################### public void StartServerConnection(){ - Log.v("Status","Bin in start server connection"); new Thread(new OpenConnection()).start(); - - //Starte hier die Server Connection + Daten receive und speichere daten local in den Datensatz - } -//################################################################################################## public class OpenConnection implements Runnable{ public void run(){ try { - socket = new Socket(dstAddress,dstPort); - // Log.v("Status: ","Verbindung wurde aufgebaut"); + socket = new Socket(dstAddress, dstPort); - //Prüfe und Sende die nicht Gesendeten Nachrichten + Log.d("OpenConnection","Verbindung hergestellt"); SendAfterGetConnection(); //nachricht an server senden welcher name jetz aktiv connected ist - st = new DataOutputStream(socket.getOutputStream()); - name=name+"/1"+"?"+personoid; - byte[] ts = name.getBytes(); - st.write(ts); - st.flush(); + dataOutputStream = new DataOutputStream(socket.getOutputStream()); +// name = name + "/1" + "?" + personOid; +// byte[] ts = name.getBytes(); +// dataOutputStream.write(ts); +// dataOutputStream.flush(); // Starte SocketListener listen = new Thread(new SocketListener()); listen.start(); } catch (Exception e) { - Log.v("Connection: ","Konnte nicht Aufgebaut werden. Es wird erneut versucht"); + Log.e("Connection: ","Konnte nicht aufgebaut werden. Es wird erneut versucht. Nachricht: " + e.getMessage()); socket = null; try { new Timer().schedule(new TimerTask() { @Override public void run() { - Log.v("Status", "Starte jetzt den Neu versuch"); + Log.i("Status", "Starte jetzt den Neu versuch"); StartServerConnection(); } }, 120000); //----> Versuche beim Scheitern nach 2 Minuten eine Neue Verbindung aufzubauen }catch(Exception s){ - Log.v("Fehler",s.getMessage()); + Log.e("Fehler", s.getMessage()); e.printStackTrace(); } } } } - public class SocketListener implements Runnable { String str; @@ -197,74 +181,73 @@ public class MainActivityMitarbeiter extends Activity { public void run() { try { while (true) { - if (socket != null) { - if (socket.isConnected()) { //----------> isThreadPausabfrage dass könnte das problem mit dem Socketlistener vorort beheben - if(!isThreadPause){ - in = new BufferedReader(new InputStreamReader(socket.getInputStream())); - Log.v("Connection Steht ", "Message Erhalten"); - String s = in.readLine(); + if (socket != null) { + if (socket.isConnected()) { //----------> isThreadPausabfrage das könnte das Problem mit dem SocketListener vorort beheben - String[] splitt = s.split(":"); + in = new BufferedReader(new InputStreamReader(socket.getInputStream())); + Log.v("Connection Steht ", "Message Erhalten"); + String s = in.readLine(); - str = s; + String[] splitt = s.split(":"); - if (s == null) - break; + str = s; - Calendar c = Calendar.getInstance(); - SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); - String formattedDate = df.format(c.getTime()); + if (s == null) { + break; + } - boolean determind = false; + Calendar c = Calendar.getInstance(); + SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); + String formattedDate = df.format(c.getTime()); - Log.v("MESSAGE",splitt[0]); - CreateFile(splitt[0]); + boolean determind = false; - //<<<<<<------------ Du ab nach oben - //##############----------------- - Log.v("MESSAGE", "Komme ich den in den Save Bereich Hinein"); + Log.v("MESSAGE",splitt[0]); + CreateFile(splitt[0]); - WriteMessagesfromStorage(splitt[1] + "/" + determind + "%" + formattedDate + "\n"); + Log.v("MESSAGE", "Komme ich in den Save-Bereich hinein"); + + WriteMessagesfromStorage(splitt[1] + "/" + determind + "%" + formattedDate + "\n"); + + SetNotify(splitt[0], splitt[1]); - SetNotifi(splitt[0], splitt[1]); - // adapter.notifyDataSetChanged(); - //#############------------------ mmmmmmmmmaaaaaaaaaaaannnnnnnnn - } } else { - if (in != null) + if (in != null) { in.close(); + } } } } - }catch(Exception e){ - Log.v("Status ","Verbindung zum Server wurde seitens dem Server getrennt "); + } catch(Exception e) { + Log.v("Status ","Verbindung zum Server wurde serverseitig getrennt "); // Log.e(getClass().getName(),e.getMessage()); in = null; } } } - //##################### Close Connection ####################### public class ConnectionClose implements Runnable{ public void run(){ try { - if (st != null) { - st.flush(); - st.close(); + if (dataOutputStream != null) { + dataOutputStream.flush(); + dataOutputStream.close(); } - if (socket != null) + + if (socket != null) { socket.close(); + } - if(in != null) + if(in != null) { in = null; + } - Log.v("Status","Socket succesfull closed"); + Log.v("Status","Socket succesfully closed"); }catch(IOException se){ Log.v("Fehler Aufgetreten",se.getMessage()); } } } - //############################################################## public void CreateFile(String filename){ @@ -285,47 +268,63 @@ public class MainActivityMitarbeiter extends Activity { } //---> Zu sortieren der message zum Jeweiligen kontakt public void SendAfterGetConnection(){ - CreateCustomFileForUnSendMessage(); - if(Unsendfile.canRead() && socket.isConnected()){ - try{ - Log.v("Info","Eine ungesendete NAchricht wurde gefunden"); + if(socket.isConnected()) { + try { + Packet p = new Packet(); + p.ChatName = SoapConnectionManager.User.getFullName(); + p.ChatDataIdentifier = DataIdentifier.LOGIN; + p.SenderPersonOid = SoapConnectionManager.User.getPersonOid().intValue(); + //p.RecipientPersonOid = 3; + p.ChatMessage = "Chromosomenfasching"; - FileInputStream stream = new FileInputStream(Unsendfile); - InputStreamReader in = new InputStreamReader(stream); - BufferedReader readLn = new BufferedReader(in); - - String line = readLn.readLine(); - String allLines=""; - - while (line != null) { - allLines += line; - - Log.v("Info","Eine ungesendete NAchricht 4"); - String[] splitt = line.split("/"); - - if(splitt.length >1 ) { - String[] ArtDate = splitt[1].split("%"); - - final String message = splitt[0]; - final boolean art = Boolean.valueOf(ArtDate[0]); - final String datetime = ArtDate[1]; - - Log.v("Info","Eine ungesendete NAchricht 5"); - //für jede Gelesene Line Sende Nachricht - new Thread(new SendUnsendMS(message)).start(); - Log.v("Info","Eine ungesendete NAchricht 6"); - } - line = readLn.readLine(); - } - stream.close(); - in.close(); - Unsendfile.delete(); - }catch(Exception fe){ - Log.v("Status","Ein problem ist im BEreich Unsend Ms Aufgetreten"); + new Thread(new TestMessageSender(p.GetDataStream())).start(); + } catch(Exception e) { + Log.e("SendAfterGetConnection", "Fehler beim Senden einer Nachricht an den Server: " + e.getMessage()); } - //recreate(); } + +// CreateCustomFileForUnSendMessage(); +// +// if(Unsendfile.canRead() && socket.isConnected()){ +// try{ +// Log.v("Info","Eine ungesendete NAchricht wurde gefunden"); +// +// FileInputStream stream = new FileInputStream(Unsendfile); +// InputStreamReader in = new InputStreamReader(stream); +// BufferedReader readLn = new BufferedReader(in); +// +// String line = readLn.readLine(); +// String allLines=""; +// +// while (line != null) { +// allLines += line; +// +// Log.v("Info","Eine ungesendete NAchricht 4"); +// String[] splitt = line.split("/"); +// +// if(splitt.length >1 ) { +// String[] ArtDate = splitt[1].split("%"); +// +// final String message = splitt[0]; +// final boolean art = Boolean.valueOf(ArtDate[0]); +// final String datetime = ArtDate[1]; +// +// Log.v("Info","Eine ungesendete NAchricht 5"); +// //für jede Gelesene Line Sende Nachricht +// new Thread(new SendUnsentMessages(message)).start(); +// Log.v("Info","Eine ungesendete NAchricht 6"); +// } +// line = readLn.readLine(); +// } +// stream.close(); +// in.close(); +// Unsendfile.delete(); +// }catch(Exception fe){ +// Log.v("Status","Ein problem ist im BEreich Unsend Ms Aufgetreten"); +// } +// //recreate(); +// } } public void CreateCustomFileForUnSendMessage(){ @@ -343,9 +342,36 @@ public class MainActivityMitarbeiter extends Activity { } } - public class SendUnsendMS implements Runnable{ + public class TestMessageSender implements Runnable { + + byte[] packetToSend; + + public TestMessageSender(byte[] packet2Send) { + packetToSend = packet2Send; + } + + @Override + public void run() { + try { + if(socket != null && dataOutputStream != null) { + + Log.d("TestMessageSender", "Sende Packet... (" + packetToSend.length + ")"); + + dataOutputStream.write(packetToSend); + dataOutputStream.flush(); + } + else { + Log.d("TestMessageSender", "Socket und/oder Stream ist null"); + } + } catch(Exception e) { + Log.e("TestMessageSender", "Fehler beim Senden der TestMessage " + e.getMessage()); + } + } + } + + public class SendUnsentMessages implements Runnable{ String al; - SendUnsendMS(String unMS){ + SendUnsentMessages(String unMS){ this.al = unMS; } public void run() { @@ -353,11 +379,11 @@ public class MainActivityMitarbeiter extends Activity { byte[] ts = al.getBytes(); try { - if (socket != null && st != null) { + if (socket != null && dataOutputStream != null) { //try catch bei catch SaveAfterLoseConnection(); - st.write(ts); - st.flush(); + dataOutputStream.write(ts); + dataOutputStream.flush(); } }catch(Exception xs){ } @@ -383,7 +409,7 @@ public class MainActivityMitarbeiter extends Activity { } //setze Notification - public void SetNotifi(String Username,String message){ + public void SetNotify(String Username, String message){ //Convertiert in Pic Resource in ein Bitmap //BitmapFactory.decodeResource(getResources(), R.drawable.bslogo) @@ -422,14 +448,14 @@ public class MainActivityMitarbeiter extends Activity { mNotifyMgr.notify(001, mBuilder.build()); } - //###### Activiti abfragen ################## + @Override public void onResume() { - // Log.v("Stuss","Hier nochmals on creat aufrufen"); isOnStop = false; super.onResume(); } + @Override public void onStop(){ // Thread t = new Thread(new ConnectionClose()); // t.start(); @@ -444,5 +470,4 @@ public class MainActivityMitarbeiter extends Activity { super.onDestroy(); } - } diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/MessageAdapter.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/MessageAdapter.java index 1101bc093..0dc528f54 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/MessageAdapter.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/MessageAdapter.java @@ -2,16 +2,12 @@ package beyondsoft.bewomitarbeiterapp; import android.app.Activity; import android.text.Html; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; import java.util.List; /** @@ -67,9 +63,9 @@ public class MessageAdapter extends ArrayAdapter { holder = (ViewHolder) convertView.getTag(); Log.v("Status","Bin ich hier ?? "); } else {*/ - convertView = inflater.inflate(layoutResource, parent, false); - holder = new ViewHolder(convertView); - convertView.setTag(holder); + convertView = inflater.inflate(layoutResource, parent, false); + holder = new ViewHolder(convertView); + convertView.setTag(holder); //} //set message content @@ -119,6 +115,4 @@ public class MessageAdapter extends ArrayAdapter { send_tick = (TextView)v.findViewById(R.id.txt_msg_tick); } } - - } diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/SplashScreenActiviti.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/SplashScreenActivity.java similarity index 77% rename from Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/SplashScreenActiviti.java rename to Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/SplashScreenActivity.java index e1334281c..6dfa69da4 100644 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/SplashScreenActiviti.java +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/SplashScreenActivity.java @@ -1,52 +1,45 @@ -package beyondsoft.bewomitarbeiterapp; - -import android.app.Activity; -import android.content.Intent; -import android.os.Bundle; - -import java.util.logging.Handler; - -/** - * Created by bib on 02.05.2016. - */ -public class SplashScreenActiviti extends Activity { - - - private static final int SPLASH_DURATION = 4000; - private Handler startMain; - - - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.splashscreen); - - Thread logoTimer = new Thread() { - public void run(){ - try{ - int logoTimer = 0; - while(logoTimer < 2125){ - sleep(75); - logoTimer = logoTimer +100; - }; - startActivity(new Intent(getBaseContext(),LoginActiviti.class)); - } - - catch (InterruptedException e) { - - e.printStackTrace(); - } - - finally{ - finish(); - } - } - }; - - logoTimer.start(); - } - - - - - -} +package beyondsoft.bewomitarbeiterapp; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; + +import java.util.logging.Handler; + +/** + * Created by bib on 02.05.2016. + */ +public class SplashScreenActivity extends Activity { + + private static final int SPLASH_DURATION = 4000; + private Handler startMain; + + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.splashscreen); + + Thread logoTimer = new Thread() { + public void run(){ + try{ + int logoTimer = 0; + while(logoTimer < 2125){ + sleep(75); + logoTimer = logoTimer + 100; + } + + startActivity(new Intent(getBaseContext(), LoginActivity.class)); + } + + catch (InterruptedException e) { + e.printStackTrace(); + } + + finally{ + finish(); + } + } + }; + + logoTimer.start(); + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/WebdokuActiviti.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/WebdokuActiviti.java deleted file mode 100644 index d1b855df8..000000000 --- a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/WebdokuActiviti.java +++ /dev/null @@ -1,57 +0,0 @@ -package beyondsoft.bewomitarbeiterapp; - -import android.app.Activity; -import android.os.Bundle; -import android.support.v7.app.ActionBarActivity; -import android.view.Menu; -import android.view.MenuItem; -import android.webkit.WebView; -import android.webkit.WebViewClient; - -/** - * Created by bib on 02.05.2016. - */ -public class WebdokuActiviti extends ActionBarActivity { - - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.webdoku); - - // Uri uri = Uri.parse("http://www.google.com"); - // Intent intent = new Intent(Intent.ACTION_VIEW, uri); - // startActivity(intent); - - - String URL = "http://192.168.1.115/BewoPlanerMobil/login/demo"; - WebView view = (WebView) this.findViewById(R.id.webView1); - - view.getSettings().setJavaScriptEnabled(true); - view.loadUrl(URL); - view.setWebViewClient(new WebViewClient()); - - - - - /* - view.setWebViewClient(new WebViewClient(){ - - public void onPageFinished(WebView view,String url){ - String username = "franz"; - String passwort = "walter"; - - view.loadUrl("javascript:document.getElementbyId('tb_login').value='"+username+"; " + - "document.getElementsbyName('tb_password').value='"+passwort+";"); - - - - - - });*/ - - - } - - -} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/WebdokuActivity.java b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/WebdokuActivity.java new file mode 100644 index 000000000..ae728a727 --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/beyondsoft/bewomitarbeiterapp/WebdokuActivity.java @@ -0,0 +1,32 @@ +package beyondsoft.bewomitarbeiterapp; + +import android.app.Activity; +import android.os.Bundle; +import android.support.v7.app.ActionBarActivity; +import android.view.Menu; +import android.view.MenuItem; +import android.webkit.WebView; +import android.webkit.WebViewClient; + +import soapConnection.SoapCalls; + +/** + * Created by bib on 02.05.2016. + */ +public class WebdokuActivity extends ActionBarActivity { + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.webdoku); + + WebView view = (WebView) this.findViewById(R.id.webView1); + + view.getSettings().setJavaScriptEnabled(true); + + //TODO: Url anhand des überprüften Tokens bestimmen (Welcher Server) + view.loadUrl(SoapCalls.WEB_DOKU_URL); + view.setWebViewClient(new WebViewClient()); + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/entities/ChatPerson.java b/Android/BewoMitarbeiterApp/app/src/main/java/entities/ChatPerson.java new file mode 100644 index 000000000..24a9427d1 --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/entities/ChatPerson.java @@ -0,0 +1,9 @@ +package entities; + +/** + * Created by JettenM on 05.07.2016. + */ +public class ChatPerson { + public int Oid; + public String Name; +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/ApplicationUser.java b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/ApplicationUser.java new file mode 100644 index 000000000..f746311ef --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/ApplicationUser.java @@ -0,0 +1,50 @@ +package soapConnection; + +/** + * Created by JettenM on 05.07.2016. + */ +public class ApplicationUser { + private String fullName; + private String username; + private Long employeeOid; + private Long personOid; + + public String getFullName() { + return fullName; + } + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public Long getEmployeeOid() { + return employeeOid; + } + + public void setEmployeeOid(Long employeeOid) { + this.employeeOid = employeeOid; + } + + public Long getPersonOid() { + return personOid; + } + + public void setPersonOid(Long personOid) { + this.personOid = personOid; + } + + public ApplicationUser(String fullName, String username, Long employeeOid, Long personOid) { + this.fullName = fullName; + this.username = username; + this.employeeOid = employeeOid; + this.personOid = personOid; + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/DataIdentifier.java b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/DataIdentifier.java new file mode 100644 index 000000000..1954e2c01 --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/DataIdentifier.java @@ -0,0 +1,20 @@ +package soapConnection; + +/** + * Created by JettenM on 05.07.2016. + */ +public enum DataIdentifier { + MESSAGE(0), + LOGIN(1), + LOGOUT(2), + NULL(3); + + private final int value; + DataIdentifier(int value) { + this.value = value; + } + + public int getValue() { + return value; + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/JsonSoapPrimitiveRequest.java b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/JsonSoapPrimitiveRequest.java new file mode 100644 index 000000000..21790e91a --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/JsonSoapPrimitiveRequest.java @@ -0,0 +1,27 @@ +package soapConnection; + +import com.octo.android.robospice.request.SpiceRequest; + +import org.ksoap2.serialization.PropertyInfo; +import org.ksoap2.serialization.SoapPrimitive; + +import java.util.ArrayList; + +/** + * Created by JettenM on 05.07.2016. + */ +public class JsonSoapPrimitiveRequest extends SpiceRequest { + private String soapOperation; + private ArrayList soapPropertyInfos; + + public JsonSoapPrimitiveRequest(String operation, ArrayList propertyInfos) { + super(SoapPrimitive.class); + this.soapOperation = operation; + this.soapPropertyInfos = propertyInfos; + } + + @Override + public SoapPrimitive loadDataFromNetwork() throws Exception { + return SoapConnectionManager.MakeCall(soapOperation, soapPropertyInfos); + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/Packet.java b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/Packet.java new file mode 100644 index 000000000..e1e669a27 --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/Packet.java @@ -0,0 +1,54 @@ +package soapConnection; + +import android.util.Log; + +import org.apache.commons.lang3.ArrayUtils; + +import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; + +/** + * Created by JettenM on 05.07.2016. + */ +public class Packet { + public DataIdentifier ChatDataIdentifier; + public String ChatName; + public int SenderPersonOid; + public int RecipientPersonOid; + public String ChatMessage; + + public Packet() { + ChatDataIdentifier = DataIdentifier.NULL; + ChatMessage = null; + ChatName = null; + SenderPersonOid = 0; + RecipientPersonOid = 0; + } + + + public Packet(byte[] dataStream) { + ChatDataIdentifier = DataIdentifier.values()[ByteBuffer.allocate(4).getInt()]; + + + } + + public byte[] GetDataStream() { + + String dataStreamAsString = "" + SenderPersonOid + ";" + RecipientPersonOid + ";" + ChatName.length() + ";" + ChatMessage.length() + ";"; + + dataStreamAsString += ChatName + ChatMessage; + + byte[] blaaah = new byte[1024]; + + try { + blaaah = dataStreamAsString.getBytes("UTF8"); + } catch (UnsupportedEncodingException e) { + Log.e("Packet.GetDataStream", e.getMessage()); + } + + return blaaah; + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/SoapCalls.java b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/SoapCalls.java new file mode 100644 index 000000000..e1df45b53 --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/SoapCalls.java @@ -0,0 +1,19 @@ +package soapConnection; + +/** + * Created by JettenM on 05.07.2016. + */ +public class SoapCalls { + public static String GET_SERVER_ADDRESS_BY_TOKEN_CALL = "GetServerAddressByToken"; + public static String LOGIN_CALL = "Login"; + public static String GET_CONTACTS_FOR_PERSON = "GetContactsForPerson"; + + public static String DESTINATION_ADDRESS = "192.168.1.103"; + + public static String TOKEN_CHECK_URL = "http://" + DESTINATION_ADDRESS + "/bewoplanermobil/main/checktoken?token="; + + public static String WEB_DOKU_URL = "http://192.168.1.103/BewoPlanerMobil/login/demo"; + + public static String WSDL_TARGET_NAME = "bliblablubb.org/"; + public static String SOAP_ADDRESS = "http://" + DESTINATION_ADDRESS + "/BeWoPlanerAndroid/AndroidSoapService.asmx"; +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/SoapConnectionManager.java b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/SoapConnectionManager.java new file mode 100644 index 000000000..4bca0a562 --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/soapConnection/SoapConnectionManager.java @@ -0,0 +1,62 @@ +package soapConnection; + +import android.util.Log; + +import org.ksoap2.SoapEnvelope; +import org.ksoap2.serialization.PropertyInfo; +import org.ksoap2.serialization.SoapObject; +import org.ksoap2.serialization.SoapPrimitive; +import org.ksoap2.serialization.SoapSerializationEnvelope; +import org.ksoap2.transport.HttpTransportSE; +import org.xmlpull.v1.XmlPullParserException; + +import java.io.IOException; +import java.util.ArrayList; + +/** + * Created by JettenM on 05.07.2016. + */ +public class SoapConnectionManager { + public static ApplicationUser User; + + private static final String LOGTAG = "SoapConnectionManager"; + + private static final HttpTransportSE androidHttpTransport = new HttpTransportSE(SoapCalls.SOAP_ADDRESS); + + public static SoapPrimitive MakeCall(String operation, ArrayList propertyInfos) { + + try { + SoapObject request = new SoapObject(SoapCalls.WSDL_TARGET_NAME, operation); + + if(propertyInfos != null) { + for (PropertyInfo info : propertyInfos) { + request.addProperty(info); + } + } + + SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + androidHttpTransport.call(SoapCalls.WSDL_TARGET_NAME + operation, envelope); + + return (SoapPrimitive) envelope.getResponse(); + } + catch(IOException |XmlPullParserException exception) { + Log.e(LOGTAG, exception.getMessage()); + } + + return null; + } + + public static PropertyInfo BuildProperty(String name, Object value, Class type) { + + PropertyInfo propertyInfo = new PropertyInfo(); + + propertyInfo.setName(name); + propertyInfo.setValue(value); + propertyInfo.setType(type); + + return propertyInfo; + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/util/ArrayHandle.java b/Android/BewoMitarbeiterApp/app/src/main/java/util/ArrayHandle.java new file mode 100644 index 000000000..0f340e07f --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/util/ArrayHandle.java @@ -0,0 +1,17 @@ +package util; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * Created by JettenM on 06.07.2016. + */ +public class ArrayHandle { + public static Object[] reverse(Object[] array) { + List list = Arrays.asList(array); + Collections.reverse(list); + + return list.toArray(); + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/util/SecurityUtils.java b/Android/BewoMitarbeiterApp/app/src/main/java/util/SecurityUtils.java new file mode 100644 index 000000000..106b6f340 --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/util/SecurityUtils.java @@ -0,0 +1,69 @@ +package util; + +import android.util.Log; + +import java.io.IOException; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.OutputStream; +import java.io.Serializable; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; + +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.CipherInputStream; +import javax.crypto.CipherOutputStream; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.SealedObject; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +/** + * Created by JettenM on 05.07.2016. + */ +public class SecurityUtils { + private static final byte[] iV16 = { (byte)35, (byte)138, (byte)177, (byte)253, (byte)227, (byte)63, (byte)2, (byte)27, (byte)9, (byte)17, (byte)192, (byte)230, (byte)1, (byte)24, (byte)165, (byte)99 }; + + public static final byte[] key = { (byte)174, (byte)130, (byte)219, (byte)185, (byte)185, (byte)221, (byte)96, (byte)50, (byte)37, (byte)212, (byte)81, (byte)121, (byte)71, (byte)206, (byte)130, (byte)153}; + + private static final IvParameterSpec ivSpec16 = new IvParameterSpec(iV16); + private static final String transformation = "AES/CBC/PKCS5Padding"; + + public static void encrypt(Serializable object, OutputStream ostream) throws IOException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidAlgorithmParameterException { + try { + SecretKeySpec sks = new SecretKeySpec(key, transformation); + + Cipher cipher = Cipher.getInstance(transformation); + cipher.init(Cipher.ENCRYPT_MODE, sks, ivSpec16); + SealedObject sealedObject = new SealedObject(object, cipher); + + CipherOutputStream cos = new CipherOutputStream(ostream, cipher); + ObjectOutputStream outputStream = new ObjectOutputStream(cos); + outputStream.writeObject(sealedObject); + outputStream.close(); + } catch (IllegalBlockSizeException e) { + Log.e("Encryption error", e.getMessage()); + } + } + + public static Object decrypt(InputStream istream) throws IOException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidAlgorithmParameterException { + SecretKeySpec sks = new SecretKeySpec(key, transformation); + Cipher cipher = Cipher.getInstance(transformation); + cipher.init(Cipher.DECRYPT_MODE, sks, ivSpec16); + + CipherInputStream cipherInputStream = new CipherInputStream(istream, cipher); + ObjectInputStream inputStream = new ObjectInputStream(cipherInputStream); + SealedObject sealedObject; + try { + sealedObject = (SealedObject) inputStream.readObject(); + return sealedObject.getObject(cipher); + } catch (ClassNotFoundException | IllegalBlockSizeException | BadPaddingException e) { + Log.e("Encryption error", e.getMessage()); + return null; + } + } +} diff --git a/Android/BewoMitarbeiterApp/app/src/main/java/util/Util.java b/Android/BewoMitarbeiterApp/app/src/main/java/util/Util.java new file mode 100644 index 000000000..096409daf --- /dev/null +++ b/Android/BewoMitarbeiterApp/app/src/main/java/util/Util.java @@ -0,0 +1,15 @@ +package util; + +/** + * Created by JettenM on 05.07.2016. + */ +public class Util { + public static final String PREFS_NAME = "BeWoMitarbeiterPrefsFile"; + + public static final String PREFS_SERVERADDRESS_KEY = "serverAddress"; + + public static final String PREFS_TOKEN_KEY = "serverAddress"; + public static final String PREFS_TENANT_KEY = "tenant"; + public static final String PREFS_USERNAME_KEY = "username"; + public static final String PREFS_PASSWORD = "password"; +} diff --git a/Android/BewoMitarbeiterApp/build.gradle b/Android/BewoMitarbeiterApp/build.gradle index 822941bb4..28c1d26c0 100644 --- a/Android/BewoMitarbeiterApp/build.gradle +++ b/Android/BewoMitarbeiterApp/build.gradle @@ -15,4 +15,4 @@ allprojects { repositories { jcenter() } -} +} \ No newline at end of file diff --git a/BeWoChatServer/App.config b/BeWoChatServer/App.config new file mode 100644 index 000000000..74ade9db5 --- /dev/null +++ b/BeWoChatServer/App.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/BeWoChatServer/BeWoChatServer.csproj b/BeWoChatServer/BeWoChatServer.csproj new file mode 100644 index 000000000..9031f1336 --- /dev/null +++ b/BeWoChatServer/BeWoChatServer.csproj @@ -0,0 +1,89 @@ + + + + + Debug + AnyCPU + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F} + WinExe + Properties + BeWoChatServer + BeWoChatServer + v4.0 + 512 + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + False + ..\Lib\log4net.dll + + + False + ..\Lib\NHibernate.dll + + + + + + + + + + + + + + + + + + + Designer + + + + + {b0d73e3d-4ae7-4024-93a6-db1f46d7ccee} + Data + + + {094331c3-ecee-4c89-bbfd-4c9ded89f0ef} + Service + + + {2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4} + Shared + + + + + \ No newline at end of file diff --git a/BeWoChatServer/Packet.cs b/BeWoChatServer/Packet.cs new file mode 100644 index 000000000..45f11a8d3 --- /dev/null +++ b/BeWoChatServer/Packet.cs @@ -0,0 +1,82 @@ +using System; +using System.Collections.Generic; +using System.Net.Sockets; +using System.Text; + +using BS.Shared; + +namespace BeWoChatServer +{ + public class Packet + { + public Socket Socket { get; set; } + public int ClientNumber { get; set; } + public string ClientName { get; set; } + public long SenderPersonOid { get; set; } + public long RecipientPersonOid { get; set; } + public DataIdentifier DataIdentifier { get; set; } + public string ChatMessage { get; set; } + + public byte[] DataBuffer = new byte[1024]; + + public Packet(Socket pSocket, int pClientNumber, string pClientName, long pSenderPersonOid, long pRecipientPersonOid) + { + Socket = pSocket; + ClientNumber = pClientNumber; + ClientName = pClientName; + SenderPersonOid = pSenderPersonOid; + RecipientPersonOid = pRecipientPersonOid; + } + + // 0 4 8 12 20 28 + // Description -> |dataIdentifier|name length|message length|sender person oid|recipient person oid| name | message | + // Size in bytes -> | 4 | 4 | 4 | 8 | 8 |name length|message length| + public Packet(byte[] dataStream) + { + DataIdentifier = (DataIdentifier)BitConverter.ToInt32(dataStream, 0); + + var nameLength = BitConverter.ToInt32(dataStream, 4); + + var messageLength = BitConverter.ToInt32(dataStream, 8); + + SenderPersonOid = BitConverter.ToInt64(dataStream, 12); + + RecipientPersonOid = BitConverter.ToInt64(dataStream, 20); + + ClientName = nameLength > 0 ? Encoding.UTF8.GetString(dataStream, 28, nameLength) : null; + + ChatMessage = messageLength > 0 ? Encoding.UTF8.GetString(dataStream, 28 + nameLength, messageLength) : null; + } + + public void GetData(string message) + { + //Aufbau Message: + // die ersten fünf ";" ignorieren + // SenderOid;RecipientOid;ClientNameLength;MessageLength;ChatDataIdentifier;ClientNameChatMessage + + //23;281;20;389;1; 5 Semikola + + var gesplittet = message.Split(';'); + + SenderPersonOid = Convert.ToInt64(gesplittet[0]); + RecipientPersonOid = Convert.ToInt64(gesplittet[1]); + + var chatNameLength = Convert.ToInt32(gesplittet[2]); + var chatMessageLength = Convert.ToInt32(gesplittet[3]); + + var headerLength = gesplittet[0].Length + gesplittet[1].Length + gesplittet[2].Length + gesplittet[3].Length + 5; + var actualMessage = message.Substring(headerLength - 1); + + ClientName = actualMessage.Substring(0, chatNameLength); + ChatMessage = actualMessage.Substring(chatNameLength); + } + + // Java kennt nur unsigned bytes (-127 bis 128) + public byte[] GetDataStream() + { + var result = ""; + + return Encoding.UTF8.GetBytes(result); + } + } +} \ No newline at end of file diff --git a/BeWoChatServer/Properties/AssemblyInfo.cs b/BeWoChatServer/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..ca44d486b --- /dev/null +++ b/BeWoChatServer/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die mit einer Assembly verknüpft sind. +[assembly: AssemblyTitle("BeWoChatServer")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("BeWoChatServer")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar +// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von +// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("ae6a4233-d1b0-4c13-bd70-5f1e3f60b4e7")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +// übernehmen, indem Sie "*" eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/BeWoChatServer/Server.cs b/BeWoChatServer/Server.cs new file mode 100644 index 000000000..40286c19d --- /dev/null +++ b/BeWoChatServer/Server.cs @@ -0,0 +1,168 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Net; +using System.Net.Sockets; +using System.Text; +using System.Threading; +using BeWo.Data; +using BeWo.Data.Access; +using BeWo.Data.Entities; + +using BS.Shared; + +namespace BeWoChatServer +{ + public class Server + { + private static object _Lock = string.Empty; + + private static readonly Dictionary clientList = new Dictionary(); + protected static Socket serverSocket; + + private static AsyncCallback asyncCallback; + + private static int clientCount; + + static Packet dataPacketsdf; + + public static void Main(string[] args) + { + try + { + // Benutzt den DefaultHibernateSessionManager + DefaultHibernateSessionManager.CurrentTenant = "demo"; + DefaultHibernateSessionManager.OpenSession(); + var test = DAOFactory.GenericDAO.LoadByID(1); + + serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + + var server = new IPEndPoint(IPAddress.Any, 5000); + + serverSocket.Bind(server); + serverSocket.Listen(4); + + serverSocket.BeginAccept(OnClientConnected, null); + + while (true) { } + } + catch (Exception e) + { + Debug.WriteLine("ChatServerException: " + e.Message); + } + } + + //TODO: Datenbankverbindung herstellen + + public static void OnClientConnected(IAsyncResult asyncResult) + { + try + { + var workerSocket = serverSocket.EndAccept(asyncResult); + + Interlocked.Increment(ref clientCount); + + clientList.Add(workerSocket, 0); + + WaitForClientData(workerSocket, clientCount, "LEER", 0, 0); + + serverSocket.BeginAccept(OnClientConnected, null); + } + catch (SocketException e) + { + Debug.WriteLine("ChatServerException: " + e.Message); + } + } + + public static void WaitForClientData(Socket socket, int clientNumber, string clientName, long oid, long recipientPersonOid) + { + try + { + if (asyncCallback == null) + { + asyncCallback = OnReceiveData; + } + + var packet = new Packet(socket, clientNumber, clientName, oid, recipientPersonOid); + + socket.BeginReceive(packet.DataBuffer, 0, packet.DataBuffer.Length, SocketFlags.None, asyncCallback, packet); + } + catch (Exception e) + { + Debug.WriteLine("ChatServerException: " + e.Message); + } + } + + public static void OnReceiveData(IAsyncResult asyncResult) + { + var dataPacket = (Packet) asyncResult.AsyncState; + + try + { + var responseByteCount = dataPacket.Socket.EndReceive(asyncResult); + + var chars = new char[responseByteCount]; + + var decoder = Encoding.UTF8.GetDecoder(); + decoder.GetChars(dataPacket.DataBuffer, 0, responseByteCount, chars, 0); + + if(chars.Count(f => f.Equals(';')) >= 4) + { + var message = new string(chars); + + dataPacket.GetData(message); + } + + // Nur bei DataIdentifier.Login + //TODO: SenderOid im Dictionary speichern + switch(dataPacket.DataIdentifier) { case DataIdentifier.Login: + var endPoint = dataPacket.Socket.RemoteEndPoint; + + var endPointCollection = clientList.Select(s => s.Key.RemoteEndPoint).ToList(); + + var istEnthalten = endPointCollection.Contains(endPoint); + if(istEnthalten) + { + clientList[dataPacket.Socket] = dataPacket.SenderPersonOid; + } + break; + case DataIdentifier.Message: + if(responseByteCount == 0) + { + clientList.Remove(dataPacket.Socket); + return; + } + else + { + + try + { + Monitor.Enter(_Lock); + + DefaultHibernateSessionManager.CurrentTenant = "demo"; + + } + finally + { + Monitor.Exit(_Lock); + } + + + // in DB speichern und an evtl. an den Empfänger schicken, sofern dieser in der clientList enthalten ist + } + + break; + case DataIdentifier.Logout: + break; + } + + WaitForClientData(dataPacket.Socket, dataPacket.ClientNumber, dataPacket.ClientName, dataPacket.SenderPersonOid, dataPacket.RecipientPersonOid); + } + catch (Exception e) + { + Debug.WriteLine("ChatServerException: " + e.Message); + } + } + } +} \ No newline at end of file diff --git a/BeWoOhneReports.sln b/BeWoOhneReports.sln index 27a54dcce..add1eda4d 100644 --- a/BeWoOhneReports.sln +++ b/BeWoOhneReports.sln @@ -31,6 +31,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReportingService", "ReportS EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWoPlanerAndroid", "BeWoPlanerAndroid\BeWoPlanerAndroid.csproj", "{D3E18AE6-05A4-44B3-B0F6-6EF696DD306C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWoChatServer", "BeWoChatServer\BeWoChatServer.csproj", "{4E069DC0-8153-41E0-A89A-FC1916DF4A5F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|.NET = Debug|.NET @@ -141,6 +143,16 @@ Global {D3E18AE6-05A4-44B3-B0F6-6EF696DD306C}.Release|Any CPU.Build.0 = Release|Any CPU {D3E18AE6-05A4-44B3-B0F6-6EF696DD306C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {D3E18AE6-05A4-44B3-B0F6-6EF696DD306C}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F}.Debug|.NET.ActiveCfg = Debug|Any CPU + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F}.Release|.NET.ActiveCfg = Release|Any CPU + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F}.Release|Any CPU.Build.0 = Release|Any CPU + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F}.Release|Mixed Platforms.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -155,5 +167,6 @@ Global {284B02ED-114A-426C-9162-31BB6CF05589} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A} {663EFCB5-9E3E-4C76-97EE-3188E072634C} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A} {D3E18AE6-05A4-44B3-B0F6-6EF696DD306C} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A} + {4E069DC0-8153-41E0-A89A-FC1916DF4A5F} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A} EndGlobalSection EndGlobal diff --git a/BeWoPlanerAndroid/AndroidSoapService.asmx.cs b/BeWoPlanerAndroid/AndroidSoapService.asmx.cs index 2379b8dd5..a596df6a2 100644 --- a/BeWoPlanerAndroid/AndroidSoapService.asmx.cs +++ b/BeWoPlanerAndroid/AndroidSoapService.asmx.cs @@ -1,5 +1,4 @@ -using System.Collections.Generic; -using System.Linq; +using System.Linq; using System.Web.Services; using BeWo.Data.Access; @@ -7,13 +6,12 @@ using BeWo.Service.ServiceContracts; using BeWo.Service.ServiceImplementations; using BeWoPlanerAndroid.Service; + using BS.Shared; using BS.Shared.Core; -using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; + using Newtonsoft.Json; -using Newtonsoft.Json.Serialization; -using NHibernate.Util; namespace BeWoPlanerAndroid { diff --git a/BeWoPlanerAndroid/Web.config b/BeWoPlanerAndroid/Web.config index dfd8d6f49..7ff00c8f6 100644 --- a/BeWoPlanerAndroid/Web.config +++ b/BeWoPlanerAndroid/Web.config @@ -34,7 +34,7 @@ - + diff --git a/BeWoPlanerMobil/Web.config b/BeWoPlanerMobil/Web.config index ca513b743..61e015b3f 100644 --- a/BeWoPlanerMobil/Web.config +++ b/BeWoPlanerMobil/Web.config @@ -123,7 +123,7 @@ - + diff --git a/Data/Access/AbstractBaseDAO.cs b/Data/Access/AbstractBaseDAO.cs index c5b50c755..6e1d4a86d 100644 --- a/Data/Access/AbstractBaseDAO.cs +++ b/Data/Access/AbstractBaseDAO.cs @@ -18,7 +18,9 @@ namespace BeWo.Data.Access if (HttpContext.Current == null) { // WCF Request - return WCFHibernateSessionManager.CurrentSession; + // DefaultHibernateSessionManager, wenn der SessionOperationContext null ist + + return WCFHibernateSessionManager.CurrentSession ?? DefaultHibernateSessionManager.CurrentSession; } else { diff --git a/Data/Data.csproj b/Data/Data.csproj index cb849d7e0..883fb792b 100644 --- a/Data/Data.csproj +++ b/Data/Data.csproj @@ -119,6 +119,7 @@ + diff --git a/Data/SessionOperationContextExt.cs b/Data/SessionOperationContextExt.cs index 9e45aec9a..51056ba94 100644 --- a/Data/SessionOperationContextExt.cs +++ b/Data/SessionOperationContextExt.cs @@ -10,7 +10,7 @@ namespace BeWo.Data { get { - return OperationContext.Current.Extensions.Find(); + return OperationContext.Current == null ? null : OperationContext.Current.Extensions.Find(); } } diff --git a/Data/WCFHibernateSessionManager.cs b/Data/WCFHibernateSessionManager.cs index 9ca8d6c2b..362981b73 100644 --- a/Data/WCFHibernateSessionManager.cs +++ b/Data/WCFHibernateSessionManager.cs @@ -27,7 +27,7 @@ namespace BeWo.Data { get { - return SessionOperationContextExt.Current.Session; + return SessionOperationContextExt.Current == null ? null : SessionOperationContextExt.Current.Session; } private set diff --git a/Shared/BeWoEntityEnums.cs b/Shared/BeWoEntityEnums.cs index 69129c9bc..ba11112f2 100644 --- a/Shared/BeWoEntityEnums.cs +++ b/Shared/BeWoEntityEnums.cs @@ -119,7 +119,8 @@ namespace BS.Shared SupportConceptApprovalPeriod2Employee = 112, FinanzDokumente = 113, Bargeldkasse = 114, - MedRecord = 115 + MedRecord = 115, + ChatMessage = 116 } public enum SystemEntryID @@ -820,4 +821,12 @@ namespace BS.Shared SupportConcept, Employee } + + public enum DataIdentifier + { + Message, + Login, + Logout, + Null + } } \ No newline at end of file diff --git a/packages/EntityFramework.5.0.0/Content/App.config.transform b/packages/EntityFramework.5.0.0/Content/App.config.transform new file mode 100644 index 000000000..4fa1b95a5 --- /dev/null +++ b/packages/EntityFramework.5.0.0/Content/App.config.transform @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/EntityFramework.5.0.0/Content/Web.config.transform b/packages/EntityFramework.5.0.0/Content/Web.config.transform new file mode 100644 index 000000000..4fa1b95a5 --- /dev/null +++ b/packages/EntityFramework.5.0.0/Content/Web.config.transform @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/EntityFramework.5.0.0/EntityFramework.5.0.0.nupkg b/packages/EntityFramework.5.0.0/EntityFramework.5.0.0.nupkg new file mode 100644 index 000000000..121be48e3 Binary files /dev/null and b/packages/EntityFramework.5.0.0/EntityFramework.5.0.0.nupkg differ diff --git a/packages/EntityFramework.5.0.0/lib/net40/EntityFramework.dll b/packages/EntityFramework.5.0.0/lib/net40/EntityFramework.dll new file mode 100644 index 000000000..8caef36ac Binary files /dev/null and b/packages/EntityFramework.5.0.0/lib/net40/EntityFramework.dll differ diff --git a/packages/EntityFramework.5.0.0/lib/net40/EntityFramework.xml b/packages/EntityFramework.5.0.0/lib/net40/EntityFramework.xml new file mode 100644 index 000000000..4057d68a4 --- /dev/null +++ b/packages/EntityFramework.5.0.0/lib/net40/EntityFramework.xml @@ -0,0 +1,18061 @@ + + + + EntityFramework + + + + + Specifies the database column that a property is mapped to. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column the property is mapped to. + + + + The name of the column the property is mapped to. + + + + + The zero-based order of the column the property is mapped to. + + + + + The database provider specific data type of the column the property is mapped to. + + + + + Denotes that the class is a complex type. + Complex types are non-scalar properties of entity types that enable scalar properties to be organized within entities. + Complex types do not have keys and cannot be managed by the Entity Framework apart from the parent object. + + + + + Specifies how the database generates values for a property. + + + + + Initializes a new instance of the class. + + The pattern used to generate values for the property in the database. + + + + The pattern used to generate values for the property in the database. + + + + + The pattern used to generate values for a property in the database. + + + + + The database does not generate values. + + + + + The database generates a value when a row is inserted. + + + + + The database generates a value when a row is inserted or updated. + + + + + Denotes a property used as a foreign key in a relationship. + The annotation may be placed on the foreign key property and specify the associated navigation property name, + or placed on a navigation property and specify the associated foreign key name. + + + + + Initializes a new instance of the class. + + + If placed on a foreign key property, the name of the associated navigation property. + If placed on a navigation property, the name of the associated foreign key(s). + If a navigation property has multiple foreign keys, a comma separated list should be supplied. + + + + + If placed on a foreign key property, the name of the associated navigation property. + If placed on a navigation property, the name of the associated foreign key(s). + + + + + Specifies the inverse of a navigation property that represents the other end of the same relationship. + + + + + Initializes a new instance of the class. + + The navigation property representing the other end of the same relationship. + + + + The navigation property representing the other end of the same relationship. + + + + + Specifies the maximum length of array/string data allowed in a property. + + + + + Initializes a new instance of the class. + + + The maximum allowable length of array/string data. + Value must be greater than zero. + + + + + Initializes a new instance of the class. + The maximum allowable length supported by the database will be used. + + + + + Determines whether a specified object is valid. (Overrides ) + + + This method returns true if the is null. + It is assumed the is used if the value may not be null. + + The object to validate. + true if the value is null or less than or equal to the specified maximum length, otherwise false + Length is zero or less than negative one. + + + + Applies formatting to a specified error message. (Overrides ) + + The name to include in the formatted string. + A localized string to describe the maximum acceptable length. + + + + Checks that Length has a legal value. Throws InvalidOperationException if not. + + + + + Gets the maximum allowable length of the array/string data. + + + + + Specifies the minimum length of array/string data allowed in a property. + + + + + Initializes a new instance of the class. + + + The minimum allowable length of array/string data. + Value must be greater than or equal to zero. + + + + + Determines whether a specified object is valid. (Overrides ) + + + This method returns true if the is null. + It is assumed the is used if the value may not be null. + + The object to validate. + true if the value is null or greater than or equal to the specified minimum length, otherwise false + Length is less than zero. + + + + Applies formatting to a specified error message. (Overrides ) + + The name to include in the formatted string. + A localized string to describe the minimum acceptable length. + + + + Checks that Length has a legal value. Throws InvalidOperationException if not. + + + + + Gets the minimum allowable length of the array/string data. + + + + + Denotes that a property or class should be excluded from database mapping. + + + + + Specifies the database table that a class is mapped to. + + + + + Initializes a new instance of the class. + + The name of the table the class is mapped to. + + + + The name of the table the class is mapped to. + + + + + The schema of the table the class is mapped to. + + + + + The base for all all Entity Data Model (EDM) types that represent a type from the EDM type system. + + + + + Represents an item in an Entity Data Model (EDM) . + + + + + The base for all all Entity Data Model (EDM) item types that with a Name property that represents a qualified (can be dotted) name. + + + + + The base for all all Entity Data Model (EDM) item types that with a property. + + + + + The base for all all Entity Data Model (EDM) types that support annotation using . + + + + + EdmDataModelItem is the base for all types in the Entity Data Model (EDM) metadata construction and modification API. + + + + + DataModelItem is the base for all types in the EDM metadata reflection, construction and modification API. + + + + + Gets an value indicating which Entity Data Model (EDM) concept is represented by this item. + + + + + IAnnotatedDataModelItem is implemented by model-specific base types for all types with an property. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets or sets the currently assigned annotations. + + + + + Returns all EdmItem children directly contained by this EdmItem. + + + + + INamedDataModelItem is implemented by model-specific base types for all types with a property. + + + + + Gets or sets the currently assigned name. + + + + + Gets or sets the currently assigned name. + + + + + Gets a value indicating whether this type is abstract. + + + + + Gets the optional base type of this type. + + + + + EdmStructuralMember is the base for all types that represent members of structural items in the Entity Data Model (EDM) metadata construction and modification API. + + + + + Represents information about a database connection. + + + + + Creates a new instance of DbConnectionInfo representing a connection that is specified in the application configuration file. + + The name of the connection string in the application configuration. + + + + Creates a new instance of DbConnectionInfo based on a connection string. + + The connection string to use for the connection. + The name of the provider to use for the connection. Use 'System.Data.SqlClient' for SQL Server. + + + + Gets the connection information represented by this instance. + + Configuration to use if connection comes from the configuration file. + + + + Instances of this class are used to create DbConnection objects for + SQL Server LocalDb based on a given database name or connection string. + + + An instance of this class can be set on the class or in the + app.config/web.config for the application to cause all DbContexts created with no + connection information or just a database name to use SQL Server LocalDb by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Implementations of this interface are used to create DbConnection objects for + a type of database server based on a given database name. + An Instance is set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use a certain type of database server by default. + Two implementations of this interface are provided: + is used to create connections to Microsoft SQL Server, including EXPRESS editions. + is used to create connections to Microsoft SQL + Server Compact Editions. + Other implementations for other database servers can be added as needed. + Note that implementations should be thread safe or immutable since they may + be accessed by multiple threads at the same time. + + + + + Creates a connection based on the given database name or connection string. + + The database name or connection string. + An initialized DbConnection. + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + + The LocalDb version to use. + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + + + The LocalDb version to use. + + The connection string to use for options to the database other than the 'Initial Catalog', + 'Data Source', and 'AttachDbFilename'. + The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the + database name when CreateConnection is called. + The 'Data Source' will be set based on the LocalDbVersion argument. + + + + + Creates a connection for SQL Server LocalDb based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + The connection string to use for options to the database other than the 'Initial Catalog', + 'Data Source', and 'AttachDbFilename'. + The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the + database name when CreateConnection is called. + The 'Data Source' will be set based on the LocalDbVersion argument. + The default is 'Integrated Security=True; MultipleActiveResultSets=True;'. + + + + + Encapsulates a cloned and store . Note that these + objects are disposable and should be used in a using block to ensure both the cloned context and the + cloned connection are disposed. + + + + + For mocking. + + + + + Creates a clone of the given . The underlying of + the context is also cloned and the given connection string is used for the connection string of + the cloned connection. + + + + + Finds the assemblies that were used for loading o-space types in the source context + and loads those assemblies in the cloned context. + + + + + Disposes both the underlying ObjectContext and its store connection. + + + + + The cloned context. + + + + + This is always the store connection of the underlying ObjectContext. + + + + + Represents setting the database initializer for a specific context type + + + + + Represents a parameter to be passed to a method + + + + + Represents a series of parameters to pass to a method + + + + + Adds a new parameter to the collection + Used for unit testing + + + + + Represents the configuration for a series of contexts + + + + + Adds a new context to the collection + Used for unit testing + + + + + Represents the configuration for a specific context type + + + + + Represents setting the default connection factory + + + + + Represents all Entity Framework related configuration + + + + + Handles creating databases either using the core provider or the Migrations pipeline. + + + + + Creates a database using the core provider (i.e. ObjectContext.CreateDatabase) or + by using Code First Migrations to create an empty database + and the perform an automatic migration to the current model. + Migrations is used if Code First is being used and the EF provider is for SQL Server + or SQL Compact. The core is used for non-Code First models and for other providers even + when using Code First. + + + + + A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that + it can be used to query from a database and group together changes that will then be written + back to the store as a unit. + DbContext is conceptually similar to ObjectContext. + + + DbContext is usually used with a derived type that contains properties for + the root entities of the model. These sets are automatically initialized when the + instance of the derived class is created. This behavior can be modified by applying the + attribute to either the entire derived context + class, or to individual properties on the class. + + The Entity Data Model backing the context can be specified in several ways. When using the Code First + approach, the properties on the derived context are used to build a model + by convention. The protected OnModelCreating method can be overridden to tweak this model. More + control over the model used for the Model First approach can be obtained by creating a + explicitly from a and passing this model to one of the DbContext constructors. + + When using the Database First or Model First approach the Entity Data Model can be created using the + Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using + entity connection string or an object. + + The connection to the database (including the name of the database) can be specified in several ways. + If the parameterless DbContext constructor is called from a derived context, then the name of the derived context + is used to find a connection string in the app.config or web.config file. If no connection string is found, then + the name is passed to the DefaultConnectionFactory registered on the class. The connection + factory then uses the context name as the database name in a default connection string. (This default connection + string points to .\SQLEXPRESS on the local machine unless a different DefaultConnectionFactory is registered.) + + Instead of using the derived context name, the connection/database name can also be specified explicitly by + passing the name to one of the DbContext constructors that takes a string. The name can also be passed in + the form "name=myname", in which case the name must be found in the config file or an exception will be thrown. + + Note that the connection found in the app.config or web.config file can be a normal database connection + string (not a special Entity Framework connection string) in which case the DbContext will use Code First. + However, if the connection found in the config file is a special Entity Framework connection string, then the + DbContext will use Database/Model First and the model specified in the connection string will be used. + + An existing or explicitly created DbConnection can also be used instead of the database/connection name. + + A can be applied to a class derived from DbContext to set the + version of conventions used by the context when it creates a model. If no attribute is applied then the + latest version of conventions will be used. + + + + + Interface implemented by objects that can provide an instance. + The class implements this interface to provide access to the underlying + ObjectContext. + + + + + Gets the object context. + + The object context. + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made. The by-convention name is the full name (namespace + class name) + of the derived context class. + See the class remarks for how this is used to create a connection. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made, and initializes it from the given model. + The by-convention name is the full name (namespace + class name) of the derived context class. + See the class remarks for how this is used to create a connection. + + The model that will back this context. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made, and initializes it from the given model. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + The model that will back this context. + + + + Constructs a new context instance using the existing connection to connect to a database. + The connection will not be disposed when the context is disposed. + + An existing connection to use for the new context. + If set to true the connection is disposed when + the context is disposed, otherwise the caller must dispose the connection. + + + + Constructs a new context instance using the existing connection to connect to a database, + and initializes it from the given model. + The connection will not be disposed when the context is disposed. + An existing connection to use for the new context. + The model that will back this context. + If set to true the connection is disposed when + the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance around an existing ObjectContext. + An existing ObjectContext to wrap with the new context. + If set to true the ObjectContext is disposed when + the DbContext is disposed, otherwise the caller must dispose the connection. + + + + + Initializes the internal context, discovers and initializes sets, and initializes from a model if one is provided. + + + + + Discovers DbSets and initializes them. + + + + + This method is called when the model for a derived context has been initialized, but + before the model has been locked down and used to initialize the context. The default + implementation of this method does nothing, but it can be overridden in a derived class + such that the model can be further configured before it is locked down. + + + Typically, this method is called only once when the first instance of a derived context + is created. The model for that context is then cached and is for all further instances of + the context in the app domain. This caching can be disabled by setting the ModelCaching + property on the given ModelBuidler, but note that this can seriously degrade performance. + More control over caching is provided through use of the DbModelBuilder and DbContextFactory + classes directly. + + The builder that defines the model for the context being created. + + + + Internal method used to make the call to the real OnModelCreating method. + + The model builder. + + + + Returns a DbSet instance for access to entities of the given type in the context, + the ObjectStateManager, and the underlying store. + + + See the DbSet class for more details. + + The type entity for which a set should be returned. + A set for the given entity type. + + + + Returns a non-generic DbSet instance for access to entities of the given type in the context, + the ObjectStateManager, and the underlying store. + + The type of entity for which a set should be returned. + A set for the given entity type. + + See the DbSet class for more details. + + + + + Saves all changes made in this context to the underlying database. + + The number of objects written to the underlying database. + Thrown if the context has been disposed. + + + + Validates tracked entities and returns a Collection of containing validation results. + + + Collection of validation results for invalid entities. The collection is never null and must not contain null + values or results for valid entities. + + + 1. This method calls DetectChanges() to determine states of the tracked entities unless + DbContextConfiguration.AutoDetectChangesEnabled is set to false. + 2. By default only Added on Modified entities are validated. The user is able to change this behavior + by overriding ShouldValidateEntity method. + + + + + Extension point allowing the user to override the default behavior of validating only + added and modified entities. + + DbEntityEntry instance that is supposed to be validated. + true to proceed with validation. false otherwise. + + + + Extension point allowing the user to customize validation of an entity or filter out validation results. + Called by . + + DbEntityEntry instance to be validated. + User defined dictionary containing additional info for custom validation. + It will be passed to + and will be exposed as . + This parameter is optional and can be null. + Entity validation result. Possibly null when overridden. + + + + Internal method that calls the protected ValidateEntity method. + + DbEntityEntry instance to be validated. + User defined dictionary containing additional info for custom validation. + It will be passed to + and will be exposed as . + This parameter is optional and can be null. + Entity validation result. Possibly null when ValidateEntity is overridden. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The type of the entity. + The entity. + An entry for the entity. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The entity. + An entry for the entity. + + + + Calls the protected Dispose method. + + + + + Disposes the context. The underlying is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + The connection to the database ( object) is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Creates a Database instance for this context that allows for creation/deletion/existence checks + for the underlying database. + + + + + Returns the Entity Framework ObjectContext that is underlying this context. + + Thrown if the context has been disposed. + + + + Provides access to features of the context that deal with change tracking of entities. + + An object used to access features that deal with change tracking. + + + + Provides access to configuration options for the context. + + An object used to access configuration options. + + + + Provides access to the underlying InternalContext for other parts of the internal design. + + + + + A simple representation of an app.config or web.config file. + + + + + Initializes a new instance of AppConfig based on supplied configuration + + Configuration to load settings from + + + + Initializes a new instance of AppConfig based on supplied connection strings + The default configuration for database initializers and default connection factory will be used + + Connection strings to be used + + + + Initializes a new instance of AppConfig based on the for the AppDomain + + + Use AppConfig.DefaultInstance instead of this constructor + + + + + Appies any database intializers specified in the configuration + + + + + Appies any database intializers specified in the configuration + + + Value indicating if initializers should be re-applied if they have already been applied in this AppDomain + + + + + Gets the specified connection string from the configuration + + Name of the connection string to get + The connection string, or null if there is no connection string with the specified name + + + + Gets the default connection factory based on the configuration + + + + + Gets a singleton instance of configuration based on the for the AppDomain + + + + + Acts as a proxy for that for the most part just passes calls + through to the real object but uses virtual methods/properties such that uses of the object + can be mocked. + + + + + Encapsulates information read from the application config file that specifies a database initializer + and allows that initializer to be dynamically applied. + + + + + Initializes a new instance of the class. + + The key from the entry in the config file. + The value from the enrty in the config file. + + + + Uses the context type and initializer type specified in the config to create an initializer instance + and set it with the DbDbatabase.SetInitializer method. + + + + + Reads all initializers from the application config file and sets them using the Database class. + + + + + Calculates the model hash values used the EdmMetadata table from EF 4.1/4.2. + + + + + Calculates an SHA256 hash of the EDMX from the given code first model. This is the hash stored in + the database in the EdmMetadata table in EF 4.1/4.2. The hash is always calculated using a v2 schema + as was generated by EF 4.1/4.2 and with the entity included in the model. + + + + + Acts as a proxy for that for the most part just passes calls + through to the real object but uses virtual methods/properties such that uses of the object + can be mocked. + + + + + An implementation of that will use Code First Migrations + to update the database to the latest version. + + + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class. + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will + use a specific connection string from the configuration file to connect to + the database to perform the migration. + + The name of the connection string to use for migration. + + + + + + + Helper class that is used to configure a column. + + + + + Creates a new column definition to store Binary data. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the maximum length supported by the database provider should be used. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + Value indicating whether or not this column should be configured as a timestamp. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Boolean data. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Byte data. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store DateTime data. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Decimal data. + + Value indicating whether or not the column allows null values. + The numeric precision of the column. + The numeric scale of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Value indicating whether or not the database will generate values for this column during insert. + The newly constructed column definition. + + + + Creates a new column definition to store Double data. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store GUID data. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Single data. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Short data. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Integer data. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Long data. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store String data. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the maximum length supported by the database provider should be used. + Value indicating whether or not the column supports Unicode content. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Time data. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store DateTimeOffset data. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Helper class that is used to further configure a table being created from a CreateTable call on . + + + + + Initializes a new instance of the TableBuilder class. + + The table creation operation to be further configured. + The migration the table is created in. + + + + Specifies a primary key for the table. + + + A lambda expression representing the property to be used as the primary key. + C#: t => t.Id + VB.Net: Function(t) t.Id + + If the primary key is made up of multiple properties then specify an anonymous type including the properties. + C#: t => new { t.Id1, t.Id2 } + VB.Net: Function(t) New With { t.Id1, t.Id2 } + + + The name of the primary key. + If null is supplied, a default name will be generated. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + Itself, so that multiple calls can be chained. + + + + Specifies an index to be created on the table. + + + A lambda expression representing the property to be indexed. + C#: t => t.PropertyOne + VB.Net: Function(t) t.PropertyOne + + If multiple properties are to be indexed then specify an anonymous type including the properties. + C#: t => new { t.PropertyOne, t.PropertyTwo } + VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + + A value indicating whether or not this is a unique index. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + Itself, so that multiple calls can be chained. + + + + Specifies a foreign key constraint to be created on the table. + + Name of the table that the foreign key constraint targets. + + A lambda expression representing the properties of the foreign key. + C#: t => t.PropertyOne + VB.Net: Function(t) t.PropertyOne + + If multiple properties make up the foreign key then specify an anonymous type including the properties. + C#: t => new { t.PropertyOne, t.PropertyTwo } + VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + + A value indicating whether or not cascade delete should be configured on the foreign key constraint. + + + The name of this foreign key constraint. + If no name is supplied, a default name will be calculated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + Itself, so that multiple calls can be chained. + + + + Base class for code-based migrations. + + + + + Operations to be performed during the upgrade process. + + + + + Operations to be performed during the downgrade process. + + + + + Adds an operation to create a new table. + + + The columns in this create table operation. + You do not need to specify this type, it will be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. + i.e. t => new { Id = t.Int(identity: true), Name = t.String() } + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to create a new foreign key constraint. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + + The column this foreign key references. + If no value is supplied the primary key of the principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key relationship. + If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + + The table that contains the foreign key columns. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + + The columns this foreign key references. + If no value is supplied the primary key of the principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key relationship. + If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on its name. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the foreign key constraint in the database. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + The columns this foreign key references. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the columns it targets. + + + The table that contains the foreign key columns. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + The columns this foreign key references. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + + The name of the table to be dropped. + Schema name is optional, if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a table to a new schema. + + + The name of the table to be moved. + Schema name is optional, if no schema is specified then dbo is assumed. + + The schema the table is to be moved to. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a table. To change the schema of a table use MoveTable + + + The name of the table to be renamed. + Schema name is optional, if no schema is specified then dbo is assumed. + + + The new name for the table. + Schema name is optional, if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a column. + + + The name of the table that contains the column to be renamed. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the column to be renamed. + The new name for the column. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to add a column to an existing table. + + + The name of the table to add the column to. + Schema name is optional, if no schema is specified then dbo is assumed. + + + The name of the column to be added. + + + An action that specifies the column to be added. + i.e. c => c.Int(nullable: false, defaultValue: 3) + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + + The name of the table to drop the column from. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the column to be dropped. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter the definition of an existing column. + + + The name of the table the column exists in. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the column to be changed. + + An action that specifies the new definition for the column. + i.e. c => c.String(nullable: false, defaultValue: "none") + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key. + + + The table that contains the primary key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The primary key column. + + The name of the primary key in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key based on multiple columns. + + + The table that contains the primary key columns. + Schema name is optional, if no schema is specified then dbo is assumed. + + The primary key columns. + + The name of the primary key in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that does not have the default name. + + + The table that contains the primary key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the primary key to be dropped. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that was created with the default name. + + + The table that contains the primary key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on a single column. + + + The name of the table to create the index on. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the column to create the index on. + + A value indicating if this is a unique index. + If no value is supplied a non-unique index will be created. + + + The name to use for the index in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on multiple columns. + + + The name of the table to create the index on. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the columns to create the index on. + + A value indicating if this is a unique index. + If no value is supplied a non-unique index will be created. + + + The name to use for the index in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on its name. + + + The name of the table to drop the index from. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the index to be dropped. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on the columns it targets. + + + The name of the table to drop the index from. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the column(s) the index targets. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL command. + + The SQL to be executed. + + A value indicating if the SQL should be executed outside of the + transaction being used for the migration process. + If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Configuration relating to the use of migrations for a given model. + You will typically create a configuration class that derives + from rather than + using this class. + + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Adds a new SQL generator to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + The SQL generator to be used. + + + + Gets the SQL generator that is set to be used with a given database provider. + + Name of the database provider to get the SQL generator for. + The SQL generator that is set for the database provider. + + + + Gets or sets a value indicating if automatic migrations can be used when migration the database. + + + + + Gets or sets a value indicating if data loss is acceptable during automatic migration. + If set to false an exception will be thrown if data loss may occur as part of an automatic migration. + + + + + Gets or sets the derived DbContext representing the model to be migrated. + + + + + Gets or sets the namespace used for code-based migrations. + + + + + Gets or sets the sub-directory that code-based migrations are stored in. + + + + + Gets or sets the code generator to be used when scaffolding migrations. + + + + + Gets or sets the assembly containing code-based migrations. + + + + + Gets or sets a value to override the connection of the database to be migrated. + + + + + Gets or sets the timeout value used for the individual commands within a + migration. A null value indicates that the default value of the underlying + provider will be used. + + + + + Configuration relating to the use of migrations for a given model. + + The context representing the model that this configuration applies to. + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Runs after upgrading to the latest migration to allow seed data to be updated. + + Context to be used for updating seed data. + + + + DbMigrator is used to apply existing migrations to a database. + DbMigrator can be used to upgrade and downgrade to any given migration. + To scaffold migrations based on changes to your model use + + + + + Base class for decorators that wrap the core + + + + + Initializes a new instance of the MigratorBase class. + + The migrator that this decorator is wrapping. + + + + Gets a list of the pending migrations that have not been applied to the database. + + List of migration Ids + + + + Updates the target database to the latest migration. + + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + Gets a list of the migrations that are defined in the assembly. + + List of migration Ids + + + + Gets a list of the migrations that have been applied to the database. + + List of migration Ids + + + + Gets the configuration being used for the migrations process. + + + + + Migration Id representing the state of the database before any migrations are applied. + + + + + Initializes a new instance of the DbMigrator class. + + Configuration to be used for the migration process. + + + + Gets all migrations that are defined in the configured migrations assembly. + + + + + Gets all migrations that have been applied to the target database. + + + + + Gets all migrations that are defined in the assembly but haven't been applied to the target database. + + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + Gets the configuration that is being used for the migration process. + + + + + A set of extension methods for + + + + + Adds or updates entities by key when SaveChanges is called. Equivalent to an "upsert" operation + from database terminology. + This method can useful when seeding data using Migrations. + + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Adds or updates entities by a custom identification expression when SaveChanges is called. + Equivalent to an "upsert" operation from database terminology. + This method can useful when seeding data using Migrations. + + + An expression specifying the properties that should be used when determining + whether an Add or Update operation should be performed. + + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Generates C# code for a code-based migration. + + + + + Base class for providers that generate code for code-based migrations. + + + + + Generates the code that should be added to the users project. + + Unique identifier of the migration. + Operations to be performed by the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Gets the namespaces that must be output as "using" or "Imports" directives to handle + the code generated by the given operations. + + The operations for which code is going to be generated. + An ordered list of namespace names. + + + + Gets the default namespaces that must be output as "using" or "Imports" directives for + any code generated. + + A value indicating if this class is being generated for a code-behind file. + An ordered list of namespace names. + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which using directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + Scaffolds code-based migrations to apply pending model changes to the database. + + + + + Initializes a new instance of the MigrationScaffolder class. + + Configuration to be used for scaffolding. + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + The scaffolded migration. + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The scaffolded migration. + + + + Gets or sets the namespace used in the migration's generated code. + + By default, this is the same as MigrationsNamespace on the migrations + configuration object passed into the constructor. For VB.NET projects, this + will need to be updated to take into account the project's root namespace. + + + + + Represents a code-based migration that has been scaffolded and is ready to be written to a file. + + + + + Gets or sets the unique identifier for this migration. + Typically used for the file name of the generated code. + + + + + Gets or sets the scaffolded migration code that the user can edit. + + + + + Gets or sets the scaffolded migration code that should be stored in a code behind file. + + + + + Gets or sets the programming language used for this migration. + Typically used for the file extension of the generated code. + + + + + Gets or sets the subdirectory in the user's project that this migration should be saved in. + + + + + Gets a dictionary of string resources to add to the migration resource file. + + + + + Represents an exception that occurred while running an operation in another AppDomain in the . + + + + + Initializes a new instance of the ToolingException class. + + Error that explains the reason for the exception. + The type of the exception that was thrown. + The stack trace of the exception that was thrown. + + + + + + + + + + Gets the type of the exception that was thrown. + + + + + Gets the stack trace of the exception that was thrown. + + + + + Helper class that is used by design time tools to run migrations related + commands that need to interact with an application that is being edited + in Visual Studio. + + Because the application is being edited the assemblies need to + be loaded in a separate AppDomain to ensure the latest version + is always loaded. + + The App/Web.config file from the startup project is also copied + to ensure that any configuration is applied. + + + + + Initializes a new instance of the ToolingFacade class. + + + The name of the assembly that contains the migrations configuration to be used. + + + The namespace qualified name of migrations configuration to be used. + + + The working directory containing the compiled assemblies. + + + The path of the config file from the startup project. + + + The path of the application data directory from the startup project. + Typically the App_Data directory for web applications or the working directory for executables. + + + The connection to the database to be migrated. + If null is supplied, the default connection for the context will be used. + + + + + Releases all unmanaged resources used by the facade. + + + + + Gets the fully qualified name of all types deriving from . + + All context types found. + + + + Gets the fully qualified name of a type deriving from . + + The name of the context type. If null, the single context type found in the assembly will be returned. + The context type found. + + + + Gets a list of all migrations that have been applied to the database. + + Ids of applied migrations. + + + + Gets a list of all migrations that have not been applied to the database. + + Ids of pending migrations. + + + + Updates the database to the specified migration. + + + The Id of the migration to migrate to. + If null is supplied, the database will be updated to the latest migration. + + Value indicating if data loss during automatic migration is acceptable. + + + + Generates a SQL script to migrate between two migrations. + + + The migration to update from. + If null is supplied, a script to update the current database will be produced. + + + The migration to update to. + If null is supplied, a script to update to the latest migration will be produced. + + Value indicating if data loss during automatic migration is acceptable. + The generated SQL script. + + + + Scaffolds a code-based migration to apply any pending model changes. + + The name for the generated migration. + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + The scaffolded migration. + + + + + + + Releases all resources used by the facade. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Gets or sets an action to be run to log information. + + + + + Gets or sets an action to be run to log warnings. + + + + + Gets or sets an action to be run to log verbose information. + + + + + Base class for loggers that can be used for the migrations process. + + + + + Logs an informational message. + + The message to be logged. + + + + Logs a warning that the user should be made aware of. + + The message to be logged. + + + + Logs some additional information that should only be presented to the user if they request verbose output. + + The message to be logged. + + + + Generates VB.Net code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which Imports directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + This class is used by Code First Migrations to read and write migration history + from the database. It is not intended to be used by other code and is only public + so that it can be accessed by EF when running under partial trust. It may be + changed or removed in the future. + + + + + Gets or sets the Id of the migration this row represents. + + + + + Gets or sets the date and time that this migrations history entry was created. + + + + + Gets or sets the state of the model after this migration was applied. + + + + + Gets or sets the version of Entity Framework that created this entry. + + + + + This is a version of the HistoryContext that still includes CreatedOn in its model. + It is used when figuring out whether or not the CreatedOn column exists and so should + be dropped. + + + + + Represents an error that occurs when an automatic migration would result in data loss. + + + + + Represents errors that occur inside the Code First Migrations pipeline. + + + + + Initializes a new instance of the MigrationsException class. + + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the MigrationsException class with serialized data. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Initializes a new instance of the AutomaticDataLossException class. + + The message that describes the error. + + + + Represents an error that occurs when there are pending model changes after applying the last migration and automatic migration is disabled. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + The message that describes the error. + + + + Provides additional metadata about a code-based migration. + + + + + Gets the unique identifier for the migration. + + + + + Gets the state of the model before this migration is run. + + + + + Gets the state of the model after this migration is run. + + + + + Decorator to provide logging during migrations operations.. + + + + + Initializes a new instance of the MigratorLoggingDecorator class. + + The migrator that this decorator is wrapping. + The logger to write messages to. + + + + Decorator to produce a SQL script instead of applying changes to the database. + Using this decorator to wrap will prevent + from applying any changes to the target database. + + + + + Initializes a new instance of the MigratorScriptingDecorator class. + + The migrator that this decorator is wrapping. + + + + + Represents a column being added to a table. + + + + + Represents an operation to modify a database schema. + + + + + Initializes a new instance of the MigrationOperation class. + + + + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets additional arguments that may be processed by providers. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. + + + + + Initializes a new instance of the AddColumnOperation class. + + The name of the table the column should be added to. + Details of the column being added. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table the column should be added to. + + + + + Gets the details of the column being added. + + + + + Gets an operation that represents dropping the added column. + + + + + + + + Represents a foreign key constraint being added to a table. + + + + + Base class for changes that affect foreign key constraints. + + + + + Initializes a new instance of the ForeignKeyOperation class. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the name of the table that the foreign key constraint targets. + + + + + Gets or sets the name of the table that the foreign key columns exist in. + + + + + The names of the foreign key column(s). + + + + + Gets a value indicating if a specific name has been supplied for this foreign key constraint. + + + + + Gets or sets the name of this foreign key constraint. + If no name is supplied, a default name will be calculated. + + + + + Initializes a new instance of the AddForeignKeyOperation class. + The PrincipalTable, PrincipalColumns, DependentTable and DependentColumns properties should also be populated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets an operation to create an index on the foreign key column(s). + + An operation to add the index. + + + + The names of the column(s) that the foreign key constraint should target. + + + + + Gets or sets a value indicating if cascade delete should be configured on the foreign key constraint. + + + + + Gets an operation to drop the foreign key constraint. + + + + + + + + Represents adding a primary key to a table. + + + + + Common base class to represent operations affecting primary keys. + + + + + Initializes a new instance of the PrimaryKeyOperation class. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the name of the table that contains the primary key. + + + + + Gets the column(s) that make up the primary key. + + + + + Gets a value indicating if a specific name has been supplied for this primary key. + + + + + Gets or sets the name of this primary key. + If no name is supplied, a default name will be calculated. + + + + + + + + Initializes a new instance of the AddPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets an operation to drop the primary key. + + + + + Represents altering an existing column. + + + + + Initializes a new instance of the AlterColumnOperation class. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Initializes a new instance of the AlterColumnOperation class. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + An operation to revert this alteration of the column. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table that the column belongs to. + + + + + Gets the new definition for the column. + + + + + Gets an operation that represents reverting the alteration. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents information about a column. + + + + + Initializes a new instance of the class. + + The data type for this column. + + + + Initializes a new instance of the class. + + The data type for this column. + + Additional details about the data type. + This includes details such as maximum length, nullability etc. + + + + + Determines if this column is a narrower data type than another column. + Used to determine if altering the supplied column definition to this definition will result in data loss. + + The column to compare to. + Details of the database provider being used. + True if this column is of a narrower data type. + + + + Gets the data type for this column. + + + + + Gets the CLR type corresponding to the database type of this column. + + + + + Gets the default value for the CLR type corresponding to the database type of this column. + + + + + Gets additional details about the data type of this column. + This includes details such as maximum length, nullability etc. + + + + + Gets or sets the name of the column. + + + + + Gets or sets a provider specific data type to use for this column. + + + + + Gets or sets a value indicating if this column can store null values. + + + + + Gets or sets a value indicating if values for this column will be generated by the database using the identity pattern. + + + + + Gets or sets the maximum length for this column. + Only valid for array data types. + + + + + Gets or sets the precision for this column. + Only valid for decimal data types. + + + + + Gets or sets the scale for this column. + Only valid for decimal data types. + + + + + Gets or sets a constant value to use as the default value for this column. + + + + + Gets or sets a SQL expression used as the default value for this column. + + + + + Gets or sets a value indicating if this column is fixed length. + Only valid for array data types. + + + + + Gets or sets a value indicating if this column supports Unicode characters. + Only valid for textual data types. + + + + + Gets or sets a value indicating if this column should be configured as a timestamp. + + + + + Represents creating a database index. + + + + + Common base class for operations affecting indexes. + + + + + Initializes a new instance of the IndexOperation class. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the table the index belongs to. + + + + + Gets or sets the columns that are indexed. + + + + + Gets a value indicating if a specific name has been supplied for this index. + + + + + Gets or sets the name of this index. + If no name is supplied, a default name will be calculated. + + + + + Initializes a new instance of the CreateIndexOperation class. + The Table and Columns properties should also be populated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets a value indicating if this is a unique index. + + + + + Gets an operation to drop this index. + + + + + + + + Represents creating a table. + + + + + Initializes a new instance of the CreateTableOperation class. + + Name of the table to be created. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table to be created. + + + + + Gets the columns to be included in the new table. + + + + + Gets or sets the primary key for the new table. + + + + + Gets an operation to drop the table. + + + + + + + + Represents deleting a new record from the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + + + + Common base class for operations that affect the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + + + + Initializes a new instance of the HistoryOperation class. + + Name of the migrations history table. + Name of the migration being affected. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the migrations history table. + + + + + Gets the name of the migration being affected. + + + + + + + + Initializes a new instance of the DeleteHistoryOperation class. + + Name of the migrations history table. + Id of the migration record to be deleted. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Represents a column being dropped from a table. + + + + + Initializes a new instance of the DropColumnOperation class. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Initializes a new instance of the DropColumnOperation class. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + The operation that represents reverting the drop operation. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table the column should be dropped from. + + + + + Gets the name of the column to be dropped. + + + + + Gets an operation that represents reverting dropping the column. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents a foreign key constraint being dropped from a table. + + + + + Initializes a new instance of the DropForeignKeyOperation class. + The PrincipalTable, DependentTable and DependentColumns properties should also be populated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Initializes a new instance of the DropForeignKeyOperation class. + + The operation that represents reverting dropping the foreign key constraint. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets an operation to drop the associated index on the foreign key column(s). + + An operation to drop the index. + + + + Gets an operation that represents reverting dropping the foreign key constraint. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping an existing index. + + + + + Initializes a new instance of the DropIndexOperation class. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Initializes a new instance of the DropIndexOperation class. + + The operation that represents reverting dropping the index. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets an operation that represents reverting dropping the index. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping a primary key from a table. + + + + + Initializes a new instance of the DropPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets an operation to add the primary key. + + + + + Represents dropping an existing table. + + + + + Initializes a new instance of the DropTableOperation class. + + The name of the table to be dropped. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Initializes a new instance of the DropTableOperation class. + + The name of the table to be dropped. + An operation that represents reverting dropping the table. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table to be dropped. + + + + + Gets an operation that represents reverting dropping the table. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents inserting a new record into the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + + + + Initializes a new instance of the InsertHistoryOperation class. + + Name of the migrations history table. + Id of the migration record to be inserted. + Value to be stored in the model column. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the value to store in the history table representing the target model of the migration. + + + + + Gets the value to store in the history table indicating the version of Entity Framework used to produce this migration. + + + + + + + + Represents moving a table from one schema to another. + + + + + Initializes a new instance of the MoveTableOperation class. + + Name of the table to be moved. + Name of the schema to move the table to. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table to be moved. + + + + + Gets the name of the schema to move the table to. + + + + + Gets an operation that moves the table back to its original schema. + + + + + + + + Represents renaming an existing column. + + + + + Initializes a new instance of the RenameColumnOperation class. + + Name of the table the column belongs to. + Name of the column to be renamed. + New name for the column. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table the column belongs to. + + + + + Gets the name of the column to be renamed. + + + + + Gets the new name for the column. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming an existing table. + + + + + Initializes a new instance of the RenameTableOperation class. + + Name of the table to be renamed. + New name for the table. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table to be renamed. + + + + + Gets the new name for the table. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents a provider specific SQL statement to be executed directly against the target database. + + + + + Initializes a new instance of the SqlOperation class. + + The SQL to be executed. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the SQL to be executed. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + + + + Common base class for providers that convert provider agnostic migration + operations into database provider specific SQL commands. + + + + + Converts a set of migration operations into database provider specific SQL. + + The operations to be converted. + Token representing the version of the database being targeted. + A list of SQL statements to be executed to perform the migration operations. + + + + Represents a migration operation that has been translated into a SQL statement. + + + + + Gets or sets the SQL to be executed to perform this migration operation. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + Provider to convert provider agnostic migration operations into SQL commands + that can be run against Microsoft SQL Server Compact Edition. + + + + + Provider to convert provider agnostic migration operations into SQL commands + that can be run against a Microsoft SQL Server database. + + + + + Converts a set of migration operations into Microsoft SQL Server specific SQL. + + The operations to be converted. + Token representing the version of SQL Server being targeted (i.e. "2005", "2008"). + A list of SQL statements to be executed to perform the migration operations. + + + + Creates an empty connection for the current provider. + Allows derived providers to use connection other than . + + + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL to mark a table as a system table. + Generated SQL should be added using the Statement method. + + The table to mark as a system table. + + + + Generates SQL to create a database schema. + Generated SQL should be added using the Statement method. + + The name of the schema to create. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL to specify a constant byte[] default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant bool default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTime default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTimeOffset default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant Guid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant string default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant TimeSpan default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify the data type of a column. + This method just generates the actual type, not the SQL to create the column. + + The definition of the column. + SQL representing the data type. + + + + Generates a quoted name. The supplied name may or may not contain the schema. + + The name to be quoted. + The quoted name. + + + + Quotes an identifier for SQL Server. + + The identifier to be quoted. + The quoted identifier. + + + + Adds a new Statement to be executed against the database. + + The statement to be executed. + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + Gets a new that can be used to build SQL. + + This is just a helper method to create a writer. Writing to the writer will + not cause SQL to be registered for execution. You must pass the generated + SQL to the Statement method. + + An empty text writer to use for SQL generation. + + + + Adds a new Statement to be executed against the database. + + The writer containing the SQL to be executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Utility class to prep the user's config file to run in an AppDomain + + + + + Updates a config file by adding binding redirects for EntityFramework.dll. + This ensures that the user's code can be ran in an AppDomain and the exact + same version of the assembly will be used for both domains. + + That path of the user's config file. Can also be null or a path to an non-existent file. + The path of the updated config file. It is the caller's responsibility to delete this. + + + + The same as but works in partial trust. + + + + + Specifies the default tab string. This field is constant. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and default tab string. + + The to use for output. + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and tab string. + + The to use for output. + The tab string to use for indentation. + + + + Closes the document being written to. + + + + + Flushes the stream. + + + + + Outputs the tab string once for each level of indentation according to the property. + + + + + Writes the specified string to the text stream. + + The string to write. + + + + Writes the text representation of a Boolean value to the text stream. + + The Boolean value to write. + + + + Writes a character to the text stream. + + The character to write. + + + + Writes a character array to the text stream. + + The character array to write. + + + + Writes a subarray of characters to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double to the text stream. + + The double to write. + + + + Writes the text representation of a Single to the text stream. + + The single to write. + + + + Writes the text representation of an integer to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object to the text stream. + + The object to write. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the specified string to a line without tabs. + + The string to write. + + + + Writes the specified string, followed by a line terminator, to the text stream. + + The string to write. + + + + Writes a line terminator. + + + + + Writes the text representation of a Boolean, followed by a line terminator, to the text stream. + + The Boolean to write. + + + + Writes a character, followed by a line terminator, to the text stream. + + The character to write. + + + + Writes a character array, followed by a line terminator, to the text stream. + + The character array to write. + + + + Writes a subarray of characters, followed by a line terminator, to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double, followed by a line terminator, to the text stream. + + The double to write. + + + + Writes the text representation of a Single, followed by a line terminator, to the text stream. + + The single to write. + + + + Writes the text representation of an integer, followed by a line terminator, to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer, followed by a line terminator, to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object, followed by a line terminator, to the text stream. + + The object to write. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the text representation of a UInt32, followed by a line terminator, to the text stream. + + A UInt32 to output. + + + + Gets the encoding for the text writer to use. + + + An that indicates the encoding for the text writer to use. + + + + + Gets or sets the new line character to use. + + + The new line character to use. + + + + + Gets or sets the number of spaces to indent. + + + The number of spaces to indent. + + + + + Gets the to use. + + + The to use. + + + + + Used for generating values that are always in sequential + order for the calling thread. + + + + + Returns the value of unless this value would be the same as the + last value returned by this thread calling this method, in which case the thread pushes the value + a little bit into the future. The comparison is in terms of the form used to store migration ID + in the database--i.e. to the 1/10 second. + + + There should never be any pushing to the future involved for normal use of migrations, but when + this method is called in rapid succession while testing or otherwise calling the DbMigrator APIs + there may be occasional sleeping. + + + + + Same as UtcNow method bur returns the time in the timestamp format used in migration IDs. + + + + + Convention to apply column ordering specified via + or the API. This convention throws if a duplicate configured column order + is detected. + + + + + Convention to apply column ordering specified via + or the API. + + + + + Identifies conventions that can be removed from a instance. + + /// + Note that implementations of this interface must be immutable. + + + + + Strongly-typed and parameterized string resources. + + + + + A string like "Applying automatic migration: {0}." + + + + + A string like "Reverting automatic migration: {0}." + + + + + A string like "Applying code-based migration: {0}." + + + + + A string like "Reverting code-based migration: {0}." + + + + + A string like "Applying code-based migrations: [{1}]." + + + + + A string like "Reverting migrations: [{1}]." + + + + + A string like "Target database is already at version {0}." + + + + + A string like "Target database is: {0}." + + + + + A string like "'{1}' (DataSource: {0}, Provider: {2}, Origin: {3})" + + + + + A string like "The specified target migration '{0}' does not exist. Ensure that target migration refers to an existing migration id." + + + + + A string like "The Foreign Key on table '{0}' with columns '{1}' could not be created because the principal key columns could not be determined. Use the AddForeignKey fluent API to fully specify the Foreign Key." + + + + + A string like "'{0}' is not a valid target migration. When targeting a previously applied automatic migration, use the full migration id including timestamp." + + + + + A string like "'{0}' is not a valid migration. Code-based migrations must be used for both source and target when scripting the upgrade between them." + + + + + A string like "The target context '{0}' is not constructible. Add a default constructor or provide an implementation of IDbContextFactory." + + + + + A string like "The specified migration name '{0}' is ambiguous. Specify the full migration id including timestamp instead." + + + + + A string like "The migrations configuration type '{0}' was not be found in the assembly '{1}'." + + + + + A string like "More than one migrations configuration type '{0}' was found in the assembly '{1}'. Specify the fully qualified name of the one to use." + + + + + A string like "No migrations configuration type was found in the assembly '{0}'. (In Visual Studio you can use the Enable-Migrations command from Package Manager Console to add a migrations configuration)." + + + + + A string like "More than one migrations configuration type was found in the assembly '{0}'. Specify the name of the one to use." + + + + + A string like "The type '{0}' is not a migrations configuration type." + + + + + A string like "The migrations configuration type '{0}' must have a public default constructor." + + + + + A string like "The migrations configuration type '{0}' must not be abstract." + + + + + A string like "The migrations configuration type '{0}' must not be generic." + + + + + A string like "In VB.NET projects, the migrations namespace '{0}' must be under the root namespace '{1}'. Update the migrations project's root namespace to allow classes under the migrations namespace to be added." + + + + + + A string like "No MigrationSqlGenerator found for provider '{0}'. Use the SetSqlGenerator method in the target migrations configuration class to register additional SQL generators." + + + + + A string like "Could not load assembly '{0}'. (If you are using Code First Migrations inside Visual Studio this can happen if the startUp project for your solution does not reference the project that contains your migrations. You can either change the startUp project for your solution or use the -StartUpProjectName parameter.)" + + + + + A string like "No context type was found in the assembly '{0}'." + + + + + A string like "More than one context type was found in the assembly '{0}'." + + + + + A string like "To enable migrations for {0}, use Enable-Migrations -ContextTypeName {0}." + + + + + A string like "The context type '{0}' was not found in the assembly '{1}'." + + + + + A string like "More than one context type '{0}' was found in the assembly '{1}'. Specify the fully qualified name of the context." + + + + + A string like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + A string like "The argument property '{0}' cannot be null." + + + + + A string like "The precondition '{0}' failed. {1}" + + + + + A string like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type." + + + + + A string like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type." + + + + + A string like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + A string like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + A string like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property." + + + + + A string like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property." + + + + + A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'." + + + + + A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'." + + + + + A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New With {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New With {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + + A string like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}" + + + + + A string like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}" + + + + + A string like "{0} = {1} conflicts with {2} = {3}" + + + + + A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject." + + + + + A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject." + + + + + A string like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys." + + + + + A string like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities." + + + + + A string like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name." + + + + + A string like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API." + + + + + A string like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property." + + + + + A string like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property." + + + + + A string like "\t{0}: {1}: {2}" + + + + + A string like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'." + + + + + A string like "The {0} value '{1}' already exists in the user-defined dictionary." + + + + + A string like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call." + + + + + A string like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name." + + + + + A string like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax." + + + + + A string like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation." + + + + + A string like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string." + + + + + A string like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set." + + + + + A string like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model." + + + + + A string like "Unable to determine the provider name for connection of type '{0}'." + + + + + A string like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length." + + + + + A string like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length." + + + + + A string like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method." + + + + + A string like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once." + + + + + A string like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once." + + + + + A string like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model or it is of a type not supported by the DbModelBuilderVersion being used." + + + + + A string like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them." + + + + + A string like "You cannot use Ignore method on the property '{0}' on type '{1}' because this type inherits from the type '{2}' where this property is mapped. To exclude this property from your model, use NotMappedAttribute or Ignore method on the base type." + + + + + A string like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types." + + + + + A string like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified." + + + + + A string like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns." + + + + + A string like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations." + + + + + A string like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. " + + + + + A string like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. " + + + + + A string like "The table '{0}' was configured but is not used in any mappings. Verify the mapping configuration for '{0}' is correct." + + + + + A string like "The configured column orders for the table '{0}' contains duplicates. Ensure the specified column order values are distinct." + + + + + A string like "The enum or spatial property '{1}' on type '{0}' cannot be mapped. Use DbModelBuilderVersion 'V5_0' or later to map enum or spatial properties." + + + + + A string like "Multiple potential primary key properties named '{0}' but differing only by case were found on entity type '{1}'. Configure the primary key explicitly using the HasKey fluent API or the KeyAttribute data annotation." + + + + + A string like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor." + + + + + A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor." + + + + + + A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state." + + + + + A string like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model." + + + + + + A string like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed." + + + + + A string like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created." + + + + + + + A string like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method." + + + + + A string like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method." + + + + + A string like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property." + + + + + A string like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property."" + + + + + A string like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties."" + + + + + A string like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'." + + + + + A string like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead." + + + + + A string like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'." + + + + + A string like "The expression passed to method {0} must represent a property defined on the type '{1}'." + + + + + A string like "{0} cannot be used for entities in the {1} state." + + + + + A string like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'." + + + + + A string like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property." + + + + + A string like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'." + + + + + A string like "The '{0}' property does not exist or is not mapped for the type '{1}'." + + + + + A string like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'." + + + + + A string like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'." + + + + + A string like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties." + + + + + A string like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties." + + + + + A string like "Cannot set the value of the nested property '{0}' because value of the complex property '{1}' to which it belongs is null." + + + + + A string like "Cannot set the original value of the nested property '{0}' because the original value of the complex property '{1}' to which it belongs is null." + + + + + A string like "The model backing the '{0}' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269)." + + + + + A string like "Database '{0}' cannot be created because it already exists." + + + + + + + A string like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. See inner exception for details." + + + + + A string like "Configuration for DbContext type '{0}' is specified multiple times in the application configuration. Each context can only be configured once." + + + + + A string like "Failed to set Database.DefaultConnectionFactory to an instance of the '{0}' type as specified in the application configuration. See inner exception for details." + + + + + A string like "The type '{0}' could not be found. The type name must be an assembly-qualified name." + + + + + A string like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute."" + + + + + A string like "The entity found was of type {0} when an entity of type {1} was requested." + + + + + A string like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types." + + + + + A string like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute." + + + + + A string like "The entity type {0} is not part of the model for the current context." + + + + + A string like "No connection string named '{0}' could be found in the application config file." + + + + + A string like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor." + + + + + A string like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'." + + + + + A string like "The context type '{0}' must have a public constructor taking an EntityConnection." + + + + + A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.IsValid. See the inner exception for details." + + + + + A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.Validate. See the inner exception for details." + + + + + A string like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file." + + + + + A string like "The context factory type '{0}' must have a public default constructor." + + + + + A string like "The '{0}' property of EdmPrimitiveType is fixed and cannot be set." + + + + + A string like "The namespace '{0}' is a system namespace and cannot be used by other schemas. Choose another namespace name." + + + + + A string like "Role '{0}' in AssociationSets '{1}' and '{2}' refers to the same EntitySet '{3}' in EntityContainer '{4}'. Make sure that if two or more AssociationSets refer to the same AssociationType, the ends do not refer to the same EntitySet." + + + + + A string like "The referenced EntitySet '{0}' for End '{1}' could not be found in the containing EntityContainer." + + + + + A string like "Type '{0}' is derived from type '{1}' that is the type for EntitySet '{2}'. Type '{0}' defines new concurrency requirements that are not allowed for subtypes of base EntitySet types." + + + + + A string like "EntitySet '{0}' is based on type '{1}' that has no keys defined." + + + + + A string like "The end name '{0}' is already defined." + + + + + A string like "The key specified in EntityType '{0}' is not valid. Property '{1}' is referenced more than once in the Key element." + + + + + A string like "Property '{0}' has a CollectionKind specified but is not a collection property." + + + + + A string like "Property '{0}' has a CollectionKind specified. CollectionKind is only supported in version 1.1 EDM models." + + + + + A string like "ComplexType '{0}' is marked as abstract. Abstract ComplexTypes are only supported in version 1.1 EDM models." + + + + + A string like "ComplexType '{0}' has a BaseType specified. ComplexType inheritance is only supported in version 1.1 EDM models." + + + + + A string like "Key part '{0}' for type '{1}' is not valid. All parts of the key must be non-nullable." + + + + + A string like "The property '{0}' in EntityType '{1}' is not valid. All properties that are part of the EntityKey must be of PrimitiveType." + + + + + A string like "Key usage is not valid. The {0} class cannot define keys because one of its base classes ('{1}') defines keys." + + + + + A string like "EntityType '{0}' has no key defined. Define the key for this EntityType." + + + + + A string like "NavigationProperty is not valid. Role '{0}' or Role '{1}' is not defined in Relationship '{2}'." + + + + + A string like "End '{0}' on relationship '{1}' cannot have an operation specified because its multiplicity is '*'. Operations cannot be specified on ends with multiplicity '*'." + + + + + A string like "Each Name and PluralName in a relationship must be unique. '{0}' is already defined." + + + + + A string like "In relationship '{0}', the Principal and Dependent Role of the referential constraint refer to the same Role in the relationship type." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Valid values for multiplicity for the Principal Role are '0..1' or '1'." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because all the properties in the Dependent Role are nullable, multiplicity of the Principal Role must be '0..1'." + + + + + A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because at least one of the properties in the Dependent Role is non-nullable, multiplicity of the Principal Role must be '1'." + + + + + A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because all of the properties in the Dependent Role are non-nullable, multiplicity of the Principal Role must be '1'." + + + + + A string like "Properties referred by the Dependent Role '{0}' must be a subset of the key of the EntityType '{1}' referred to by the Dependent Role in the referential constraint for relationship '{2}'." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role refers to the key properties, the upper bound of the multiplicity of the Dependent Role must be '1'." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be '*'." + + + + + A string like "The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property '{0}' on entity '{1}' does not match the type of property '{2}' on entity '{3}' in the referential constraint '{4}'." + + + + + A string like "There is no property with name '{0}' defined in the type referred to by Role '{1}'." + + + + + A string like "A nullable ComplexType is not supported. Property '{0}' must not allow nulls." + + + + + A string like "A property cannot be of type '{0}'. The property type must be a ComplexType or a PrimitiveType." + + + + + A string like "Each member name in an EntityContainer must be unique. A member with name '{0}' is already defined." + + + + + A string like "Each type name in a schema must be unique. Type name '{0}' is already defined." + + + + + A string like "Name '{0}' cannot be used in type '{1}'. Member names cannot be the same as their enclosing type." + + + + + A string like "Each property name in a type must be unique. Property name '{0}' is already defined." + + + + + A string like "A cycle was detected in the type hierarchy of '{0}'." + + + + + A string like "A property cannot be of type '{0}'. The property type must be a ComplexType, a PrimitiveType, or a CollectionType." + + + + + A string like "A property cannot be of type {0}. The property type must be a ComplexType, a PrimitiveType or an EnumType." + + + + + A string like "The specified name must not be longer than 480 characters: '{0}'." + + + + + A string like "The specified name is not allowed: '{0}'." + + + + + A string like "The field {0} must be a string or array type with a maximum length of '{1}'." + + + + + A string like "The field {0} must be a string or array type with a minimum length of '{1}'." + + + + + A string like "No connection string named '{0}' could be found in the application config file." + + + + + A string like "AutomaticMigration" + + + + + A string like "BootstrapMigration" + + + + + A string like "InitialCreate" + + + + + A string like "Automatic migration was not applied because it would result in data loss." + + + + + A string like "[Inserting migration history record]" + + + + + A string like "[Deleting migration history record]" + + + + + A string like "[Updating EdmMetadata model hash]" + + + + + A string like "Running Seed method." + + + + + A string like "No pending code-based migrations." + + + + + A string like "Explicit" + + + + + A string like "Upgrading history table." + + + + + A string like "Cannot scaffold the next migration because the target database was created with a version of Code First earlier than EF 4.3 and does not contain the migrations history table. To start using migrations against this database, ensure the current model is compatible with the target database and execute the migrations Update process. (In Visual Studio you can use the Update-Database command from Package Manager Console to execute the migrations Update process)." + + + + + A string like "Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration." + + + + + A string like "Scripting the downgrade between two specified migrations is not supported." + + + + + A string like "Direct column renaming is not supported by SQL Server Compact. To rename a column in SQL Server Compact, you will need to recreate it." + + + + + A string like "One or more validation errors were detected during model generation:" + + + + + A string like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported." + + + + + A string like "Connection to the database failed. The connection string is configured with an invalid LocalDB server name. This may have been set in 'global.asax' by a pre-release version of MVC4. The default connection factory is now set in web.config so the line in 'global.asax' starting with 'Database.DefaultConnectionFactory = ' should be removed. See http://go.microsoft.com/fwlink/?LinkId=243166 for details." + + + + + A string like "An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct." + + + + + A string like "Setting IsModified to false for a modified property is not supported." + + + + + A string like "An error occurred while saving entities that do not expose foreign key properties for their relationships. The EntityEntries property will return null because a single entity cannot be identified as the source of the exception. Handling of exceptions while saving can be made easier by exposing foreign key properties in your entity types. See the InnerException for details." + + + + + A string like "The set of property value names is read-only." + + + + + A string like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type." + + + + + A string like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility." + + + + + A string like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + A string like "Model compatibility cannot be checked because the database does not contain model metadata. Model compatibility can only be checked for databases created using Code First or Code First Migrations." + + + + + A string like "The context cannot be used while the model is being created." + + + + + A string like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)." + + + + + A string like "The operation cannot be completed because the DbContext has been disposed." + + + + + A string like "The provider factory returned a null connection." + + + + + A string like "The DbConnectionFactory instance returned a null connection." + + + + + A string like "The number of primary key values passed must match number of primary key values defined on the entity." + + + + + A string like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details." + + + + + A string like "Multiple entities were found in the Added state that match the given primary key values." + + + + + A string like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()." + + + + + A string like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties." + + + + + A string like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection." + + + + + A string like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used." + + + + + A string like "Validation failed for one or more entities. See 'EntityValidationErrors' property for more details." + + + + + A string like "An exception occurred while initializing the database. See the InnerException for details." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Code generated using the T4 templates for Database First and Model First development may not work correctly if used in Code First mode. To continue using Database First or Model First ensure that the Entity Framework connection string is specified in the config file of executing application. To use these classes, that were generated from Database First or Model First, with Code First add any additional configuration using attributes or the DbModelBuilder API and then remove the code that throws this exception." + + + + + A string like "The generic 'Set' method cannot be called with a proxy type. Either use the actual entity type or call the non-generic 'Set' method." + + + + + A string like "NavigationProperty is not valid. The FromRole and ToRole are the same." + + + + + A string like "OnDelete can be specified on only one End of an EdmAssociation." + + + + + A string like "The number of properties in the Dependent and Principal Roles in a relationship constraint must be identical." + + + + + A string like "The name is missing or not valid." + + + + + A string like "AssociationEnd must not be null." + + + + + A string like "DependentEnd must not be null." + + + + + A string like "DependentProperties must not be empty." + + + + + A string like "Association must not be null." + + + + + A string like "ResultEnd must not be null." + + + + + A string like "EntityType must not be null." + + + + + A string like "ElementType must not be null." + + + + + A string like "ElementType must not be null." + + + + + A string like "SourceSet must not be null." + + + + + A string like "TargetSet must not be null." + + + + + A string like "The type is not a valid EdmTypeReference." + + + + + A string like "Serializer can only serialize an EdmModel that has one EdmNamespace and one EdmEntityContainer." + + + + + A string like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "MinLengthAttribute must have a Length value that is zero or greater." + + + + + A string like "The connection can not be overridden because this context was created from an existing ObjectContext." + + + + + A string like "Can not override the connection for this context with a standard DbConnection because the original connection was an EntityConnection." + + + + + A string like "Can not override the connection for this context with an EntityConnection because the original connection was a standard DbConnection." + + + + + Strongly-typed and parameterized exception factory. + + + + + Migrations.Infrastructure.AutomaticDataLossException with message like "Automatic migration was not applied because it would result in data loss." + + + + + Migrations.Infrastructure.MigrationsException with message like "Cannot scaffold the next migration because the target database was created with a version of Code First earlier than EF 4.3 and does not contain the migrations history table. To start using migrations against this database, ensure the current model is compatible with the target database and execute the migrations Update process. (In Visual Studio you can use the Update-Database command from Package Manager Console to execute the migrations Update process)." + + + + + Migrations.Infrastructure.MigrationsException with message like "The specified target migration '{0}' does not exist. Ensure that target migration refers to an existing migration id." + + + + + Migrations.Infrastructure.MigrationsException with message like "The Foreign Key on table '{0}' with columns '{1}' could not be created because the principal key columns could not be determined. Use the AddForeignKey fluent API to fully specify the Foreign Key." + + + + + Migrations.Infrastructure.MigrationsException with message like "'{0}' is not a valid target migration. When targeting a previously applied automatic migration, use the full migration id including timestamp." + + + + + Migrations.Infrastructure.MigrationsException with message like "'{0}' is not a valid migration. Code-based migrations must be used for both source and target when scripting the upgrade between them." + + + + + Migrations.Infrastructure.MigrationsException with message like "The target context '{0}' is not constructible. Add a default constructor or provide an implementation of IDbContextFactory." + + + + + Migrations.Infrastructure.MigrationsException with message like "The specified migration name '{0}' is ambiguous. Specify the full migration id including timestamp instead." + + + + + Migrations.Infrastructure.AutomaticMigrationsDisabledException with message like "Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration." + + + + + Migrations.Infrastructure.MigrationsException with message like "Scripting the downgrade between two specified migrations is not supported." + + + + + Migrations.Infrastructure.MigrationsException with message like "The migrations configuration type '{0}' was not be found in the assembly '{1}'." + + + + + Migrations.Infrastructure.MigrationsException with message like "More than one migrations configuration type '{0}' was found in the assembly '{1}'. Specify the fully qualified name of the one to use." + + + + + Migrations.Infrastructure.MigrationsException with message like "No migrations configuration type was found in the assembly '{0}'. (In Visual Studio you can use the Enable-Migrations command from Package Manager Console to add a migrations configuration)." + + + + + Migrations.Infrastructure.MigrationsException with message like "More than one migrations configuration type was found in the assembly '{0}'. Specify the name of the one to use." + + + + + Migrations.Infrastructure.MigrationsException with message like "The type '{0}' is not a migrations configuration type." + + + + + Migrations.Infrastructure.MigrationsException with message like "The migrations configuration type '{0}' must have a public default constructor." + + + + + Migrations.Infrastructure.MigrationsException with message like "The migrations configuration type '{0}' must not be abstract." + + + + + Migrations.Infrastructure.MigrationsException with message like "The migrations configuration type '{0}' must not be generic." + + + + + Migrations.Infrastructure.MigrationsException with message like "Direct column renaming is not supported by SQL Server Compact. To rename a column in SQL Server Compact, you will need to recreate it." + + + + + Migrations.Infrastructure.MigrationsException with message like "In VB.NET projects, the migrations namespace '{0}' must be under the root namespace '{1}'. Update the migrations project's root namespace to allow classes under the migrations namespace to be added." + + + + + + Migrations.Infrastructure.MigrationsException with message like "No MigrationSqlGenerator found for provider '{0}'. Use the SetSqlGenerator method in the target migrations configuration class to register additional SQL generators." + + + + + Migrations.Infrastructure.MigrationsException with message like "No context type was found in the assembly '{0}'." + + + + + Migrations.Infrastructure.MigrationsException with message like "The context type '{0}' was not found in the assembly '{1}'." + + + + + Migrations.Infrastructure.MigrationsException with message like "More than one context type '{0}' was found in the assembly '{1}'. Specify the fully qualified name of the context." + + + + + ArgumentException with message like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + ArgumentException with message like "The argument property '{0}' cannot be null." + + + + + ArgumentException with message like "The precondition '{0}' failed. {1}" + + + + + InvalidOperationException with message like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type." + + + + + InvalidOperationException with message like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type." + + + + + InvalidOperationException with message like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + InvalidOperationException with message like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + InvalidOperationException with message like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property." + + + + + InvalidOperationException with message like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property." + + + + + InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'." + + + + + InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'." + + + + + InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New With {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New With {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + + InvalidOperationException with message like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}" + + + + + InvalidOperationException with message like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}" + + + + + InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject." + + + + + InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys." + + + + + MappingException with message like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities." + + + + + InvalidOperationException with message like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name." + + + + + InvalidOperationException with message like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API." + + + + + InvalidOperationException with message like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property." + + + + + InvalidOperationException with message like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property." + + + + + InvalidOperationException with message like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'." + + + + + InvalidOperationException with message like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call." + + + + + InvalidOperationException with message like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name." + + + + + InvalidOperationException with message like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax." + + + + + InvalidOperationException with message like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation." + + + + + ArgumentException with message like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string." + + + + + InvalidOperationException with message like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set." + + + + + InvalidOperationException with message like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model." + + + + + NotSupportedException with message like "Unable to determine the provider name for connection of type '{0}'." + + + + + ArgumentException with message like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length." + + + + + ArgumentException with message like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once." + + + + + InvalidOperationException with message like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model or it is of a type not supported by the DbModelBuilderVersion being used." + + + + + InvalidOperationException with message like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them." + + + + + InvalidOperationException with message like "You cannot use Ignore method on the property '{0}' on type '{1}' because this type inherits from the type '{2}' where this property is mapped. To exclude this property from your model, use NotMappedAttribute or Ignore method on the base type." + + + + + InvalidOperationException with message like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types." + + + + + InvalidOperationException with message like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified." + + + + + InvalidOperationException with message like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns." + + + + + InvalidOperationException with message like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported." + + + + + InvalidOperationException with message like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations." + + + + + InvalidOperationException with message like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. " + + + + + NotSupportedException with message like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. " + + + + + InvalidOperationException with message like "The table '{0}' was configured but is not used in any mappings. Verify the mapping configuration for '{0}' is correct." + + + + + InvalidOperationException with message like "The configured column orders for the table '{0}' contains duplicates. Ensure the specified column order values are distinct." + + + + + NotSupportedException with message like "The enum or spatial property '{1}' on type '{0}' cannot be mapped. Use DbModelBuilderVersion 'V5_0' or later to map enum or spatial properties." + + + + + InvalidOperationException with message like "Multiple potential primary key properties named '{0}' but differing only by case were found on entity type '{1}'. Configure the primary key explicitly using the HasKey fluent API or the KeyAttribute data annotation." + + + + + InvalidOperationException with message like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor." + + + + + InvalidOperationException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor." + + + + + + NotSupportedException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state." + + + + + InvalidOperationException with message like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model." + + + + + + ArgumentException with message like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed." + + + + + ArgumentException with message like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created." + + + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property." + + + + + ArgumentException with message like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property."" + + + + + NotSupportedException with message like "Setting IsModified to false for a modified property is not supported." + + + + + ArgumentException with message like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties."" + + + + + ArgumentException with message like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'." + + + + + ArgumentException with message like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead." + + + + + ArgumentException with message like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'." + + + + + ArgumentException with message like "The expression passed to method {0} must represent a property defined on the type '{1}'." + + + + + InvalidOperationException with message like "{0} cannot be used for entities in the {1} state." + + + + + InvalidOperationException with message like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'." + + + + + InvalidOperationException with message like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property." + + + + + InvalidOperationException with message like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'." + + + + + NotSupportedException with message like "The set of property value names is read-only." + + + + + ArgumentException with message like "The '{0}' property does not exist or is not mapped for the type '{1}'." + + + + + ArgumentException with message like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'." + + + + + ArgumentException with message like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'." + + + + + ArgumentException with message like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type." + + + + + InvalidOperationException with message like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties." + + + + + InvalidOperationException with message like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties." + + + + + InvalidOperationException with message like "Cannot set the value of the nested property '{0}' because value of the complex property '{1}' to which it belongs is null." + + + + + InvalidOperationException with message like "Cannot set the original value of the nested property '{0}' because the original value of the complex property '{1}' to which it belongs is null." + + + + + InvalidOperationException with message like "The model backing the '{0}' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269)." + + + + + InvalidOperationException with message like "Database '{0}' cannot be created because it already exists." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the database does not contain model metadata. Model compatibility can only be checked for databases created using Code First or Code First Migrations." + + + + + + + InvalidOperationException with message like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. See inner exception for details." + + + + + InvalidOperationException with message like "Configuration for DbContext type '{0}' is specified multiple times in the application configuration. Each context can only be configured once." + + + + + InvalidOperationException with message like "Failed to set Database.DefaultConnectionFactory to an instance of the '{0}' type as specified in the application configuration. See inner exception for details." + + + + + InvalidOperationException with message like "The type '{0}' could not be found. The type name must be an assembly-qualified name." + + + + + InvalidOperationException with message like "The context cannot be used while the model is being created." + + + + + InvalidOperationException with message like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)." + + + + + InvalidOperationException with message like "The operation cannot be completed because the DbContext has been disposed." + + + + + InvalidOperationException with message like "The provider factory returned a null connection." + + + + + InvalidOperationException with message like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute."" + + + + + InvalidOperationException with message like "The DbConnectionFactory instance returned a null connection." + + + + + ArgumentException with message like "The number of primary key values passed must match number of primary key values defined on the entity." + + + + + ArgumentException with message like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details." + + + + + InvalidOperationException with message like "The entity found was of type {0} when an entity of type {1} was requested." + + + + + InvalidOperationException with message like "Multiple entities were found in the Added state that match the given primary key values." + + + + + InvalidOperationException with message like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types." + + + + + InvalidOperationException with message like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute." + + + + + InvalidOperationException with message like "The entity type {0} is not part of the model for the current context." + + + + + NotSupportedException with message like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()." + + + + + ArgumentException with message like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties." + + + + + InvalidOperationException with message like "No connection string named '{0}' could be found in the application config file." + + + + + InvalidOperationException with message like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection." + + + + + NotSupportedException with message like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor." + + + + + NotSupportedException with message like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used." + + + + + InvalidOperationException with message like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'." + + + + + InvalidOperationException with message like "The context type '{0}' must have a public constructor taking an EntityConnection." + + + + + NotSupportedException with message like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file." + + + + + DataException with message like "An exception occurred while initializing the database. See the InnerException for details." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + InvalidOperationException with message like "The context factory type '{0}' must have a public default constructor." + + + + + InvalidOperationException with message like "The generic 'Set' method cannot be called with a proxy type. Either use the actual entity type or call the non-generic 'Set' method." + + + + + InvalidOperationException with message like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "MinLengthAttribute must have a Length value that is zero or greater." + + + + + InvalidOperationException with message like "No connection string named '{0}' could be found in the application config file." + + + + + InvalidOperationException with message like "The connection can not be overridden because this context was created from an existing ObjectContext." + + + + + InvalidOperationException with message like "Can not override the connection for this context with a standard DbConnection because the original connection was an EntityConnection." + + + + + InvalidOperationException with message like "Can not override the connection for this context with an EntityConnection because the original connection was a standard DbConnection." + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + AutoGenerated resource class. Usage: + + string s = EntityRes.GetString(EntityRes.MyIdenfitier); + + + + + Allows the construction and modification of a user-specified annotation (name-value pair) on a instance. + + + + + Gets or sets an optional namespace that can be used to distinguish the annotation from others with the same value. + + + + + Gets or sets the name of the annotation. + + + + + Gets or sets the value of the annotation. + + + + + + + + + DataModelEventArgs is the base argument type for all events raised by consumers of Entity Data Model (EDM) models. + + + + + Gets a value indicating the that caused the event to be raised. + + + + + Gets an optional value indicating which property of the source item caused the event to be raised. + + + + + Gets a value that identifies the specific error that is being raised. + + + + + Gets an optional descriptive message the describes the error that is being raised. + + + + + DbAliasedMetadataItem provides the base type for all Database Metadata types that can have an optional that should be used instead of the item's when referring to the item in the database. + + + + + NamedDbItem is the base for all types in the Database Metadata construction and modification API with a property. + + + + + The base for all all Database Metadata types that support annotation using . + + + + + DbDataModelItem is the base for all types in the Database Metadata construction and modification API. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets or sets the currently assigned name. + + + + + Gets an optional alternative identifier that should be used when referring to this item in the database. + + + + + When implemented in derived types, allows the construction and modification of a column in a Database Metadata table or row. + + + + + Gets or sets a string indicating the database-specific type of the column. + + + + + Gets or sets a value indicating whether the column is nullable. + + + + + Gets or sets an optional instance that applies additional constraints to the referenced database-specific type of the column. + + + + + Allows the construction and modification of a database in a Database Metadata model. + + + + + Gets or sets an optional value that indicates the database model version. + + + + + Gets or sets the collection of instances that specifies the schemas within the database. + + + + + Allows the construction and modification of a foreign key constraint sourced by a instance. + + + + + Gets or sets the to take when a delete operation is attempted. + + + + + Indicates which Database Metadata concept is represented by a given item. + + + + + Database Kind + + + + + Schema Kind + + + + + Foreign Key Constraint Kind + + + + + Function Kind + + + + + Function Parameter Kind + + + + + Function Return or Parameter Type Kind + + + + + Row Column Kind + + + + + Table Kind + + + + + Table Column Kind + + + + + Primitive Facets Kind + + + + + Specifies the action to take on a given operation. + + + + + Default behavior + + + + + Restrict the operation + + + + + Cascade the operation + + + + + Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in a Database Metadata item. + + + + + Returns true if any facet value property currently has a non-null value; otherwise returns false . + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode. + + + + + Gets or sets an optional value indicating the current constraint on the type's maximum length. + + + + + Gets or sets an optional value indicating the current constraint on the type's precision. + + + + + Gets or sets an optional value indicating the current constraint on the type's scale. + + + + + Gets or sets an optional value indicating the current spatial type's SRID. + + + + + Gets or sets an optional value indicating the current spatial type's SRID. + + + + + Gets or sets an optional value indicating whether the spatial type is to be type checked strictly. + + + + + Allows the construction and modification of a database schema in a database model. + + + + + Gets or sets the collection of instances that specifies the tables declared within the schema. + + + + + DbSchemaMetadataItem is the base for all types that can be contained in a schema. + + + + + Allows the construction and modification of a column in a table. + + + + + Gets or sets a value indicating whether the column is part of the table's primary key. + + + + + Gets or sets a value indicating if and how the value of the column is automatically generated. + + + + + Gets or sets an optional value indicating the collation specific to this table column. + + + + + Gets or sets an optional value that specifies the default value for the column. + + + + + Allows the construction and modification a table in a database schema. + + + + + Gets or sets the collection of instances that specifies the columns present within the table. + + + + + Gets or sets the collection of instances from the collection of the table that are part of the primary key. + + + + + Gets or sets the collection of instances that defines the foreign key constraints sourced from the table. + + + + + Represents a specific use of a type in a Database Metadata item. + + + + + Gets or sets an optional instance that applies additional constraints to a referenced primitive type. + + + Accessing this property forces the creation of a DbPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value. + + + + + Gets or sets a value indicating whether the represented type is a collection type. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered nullable. + + + + + Gets a value indicating whether the type has been configured as a row type by the addition of one or more RowColumns. + + + + + Represents the mapping of an EDM association end ( ) as a collection of property mappings ( ). + + + + + DbMappingMetadataItem is the base for all types in the EDM-to-Database Mapping construction and modification API that support annotation using . + + + + + DbMappingModelItem is the base for all types in the EDM-to-Database Mapping construction and modification API. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets an value representing the association end that is being mapped. + + + + + Gets the collection of s that specifies how the association end key properties are mapped to the table. + + + + + Gets an value representing the association set that is being mapped. + + + + + Gets a value representing the table to which the entity type's properties are being mapped. + + + + + Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping to apply. + + + + + Allows the construction and modification of a condition for a column in a database table. + + + + + Gets or sets a value representing the table column which must contain for this condition to hold. + + + + + Gets or sets the value that must contain for this condition to hold. + + + + + Gets or sets an value representing the model that is being mapped. + + + + + Gets or sets a value representing the database that is the target of the mapping. + + + + + Gets or sets the collection of s that specifies how the model's entity containers are mapped to the database. + + + + + Represents the mapping of an entity property to a column in a database table. + + + + + Gets or sets the collection of instances that defines the mapped property, beginning from a property declared by the mapped entity type and optionally proceeding through properties of complex property result types. + + + + + Gets or sets a value representing the table column to which the entity property is being mapped. + + + + + Allows the construction and modification of the mapping of an EDM entity container ( ) to a database ( ). + + + + + Gets or sets an value representing the entity container that is being mapped. + + + + + Gets or sets the collection of s that specifies how the container's entity sets are mapped to the database. + + + + + Gets the collection of s that specifies how the container's association sets are mapped to the database. + + + + + Allows the construction and modification of the mapping of an EDM entity set ( ) to a database ( ). + + + + + Gets or sets an value representing the entity set that is being mapped. + + + + + Gets or sets the collection of s that specifies how the set's entity types are mapped to the database. + + + + + Allows the construction and modification of a complete or partial mapping of an EDM entity type ( ) or type hierarchy to a specific database table ( ). + + + + + Gets or sets an value representing the entity type or hierarchy that is being mapped. + + + + + Gets or sets a value indicating whether this type mapping applies to and all its direct or indirect subtypes ( true ), or only to ( false ). + + + + + Gets a value representing the table to which the entity type's properties are being mapped. + + + + + Gets the collection of s that specifies how the type's properties are mapped to the table. + + + + + Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping fragment to apply. + + + + + Indicates which EDM-to-Database Mapping concept is represented by a given item. + + + + + Database Mapping Kind + + + + + Entity Container Mapping Kind + + + + + Entity Set Mapping Kind + + + + + Association Set Mapping Kind + + + + + Entity Type Mapping Kind + + + + + Query View Mapping Kind + + + + + Entity Type Mapping Fragment Kind + + + + + Edm Property Mapping Kind + + + + + Association End Mapping Kind + + + + + Column Condition Kind + + + + + Property Condition Kind + + + + + Allows the construction and modification of a constraint applied to an Entity Data Model (EDM) association. + + + + + Gets or sets the that represents the 'dependent' end of the constraint; properties from this association end's entity type contribute to the collection. + + + + + Gets or sets the collection of instances from the of the constraint. The values of these properties are constrained against the primary key values of the remaining, 'principal' association end's entity type. + + + + + Allows the construction and modification of one end of an Entity Data Model (EDM) association. + + + + + Gets or sets the entity type referenced by this association end. + + + + + Gets or sets the of this association end, which indicates the multiplicity of the end and whether or not it is required. + + + + + Gets or sets the to take when a delete operation is attempted. + + + + + Indicates the multiplicity of an and whether or not it is required. + + + + + Allows the construction and modification of an association set in an Entity Data Model (EDM) ). + + + + + Represents an item in an Entity Data Model (EDM) . + + + + + Gets or sets the that specifies the association type for the set. + + + + + Gets or sets the that specifies the entity set corresponding to the association end for this association set. + + + + + Gets or sets the that specifies the entity set corresponding to the association end for this association set. + + + + + + The base for all all Entity Data Model (EDM) types that represent a structured type from the EDM type system. + + + + + Gets or sets the that defines the source end of the association. + + + + + Gets or sets the that defines the target end of the association. + + + + + Gets or sets the optional constraint that indicates whether the relationship is an independent association (no constraint present) or a foreign key relationship ( specified). + + + + + Collection semantics for properties. + + + + + The property does not have a collection type or does not specify explicit collection semantics. + + + + + The property is an unordered collection that may contain duplicates. + + + + + The property is an ordered collection that may contain duplicates. + + + + + Allows the construction and modification of a complex type in an Entity Data Model (EDM) . + + + + + Gets or sets the optional that indicates the base complex type of the complex type. + + + + + Gets or sets a value indicating whether the complex type is abstract. + + + + + Gets or sets the collection of instances that describe the (scalar or complex) properties of the complex type. + + + + + Concurrency mode for properties. + + + + + Default concurrency mode: the property is never validated at write time + + + + + Fixed concurrency mode: the property is always validated at write time + + + + + Allows the construction and modification of an entity container in an Entity Data Model (EDM) . + + + + + Gets all s declared within the namspace. Includes s and s. + + + + + Gets or sets the collection of s that specifies the association sets within the container. + + + + + Gets or sets the collection of s that specifies the entity sets within the container. + + + + + Allows the construction and modification of an entity set in an Entity Data Model (EDM) . + + + + + Gets or sets the that specifies the entity type for the set. + + + + + Allows the construction and modification of an entity type in an Entity Data Model (EDM) . + + + + + Gets or sets the optional that indicates the base entity type of the entity type. + + + + + Gets or sets a value indicating whether the entity type is abstract. + + + + + Gets or sets the collection of s that specifies the properties declared by the entity type. + + + + + Gets or sets the collection of s that indicates which properties from the collection are part of the entity key. + + + + + Gets or sets the optional collection of s that specifies the navigation properties declared by the entity type. + + + + + Indicates which Entity Data Model (EDM) concept is represented by a given item. + + + + + Association End Kind + + + + + Association Set Kind + + + + + Association Type Kind + + + + + Collection Type Kind + + + + + Complex Type Kind + + + + + Entity Container Kind + + + + + Entity Set Kind + + + + + Entity Type Kind + + + + + Function Group Kind + + + + + Function Overload Kind + + + + + Function Import Kind + + + + + Function Parameter Kind + + + + + Navigation Property Kind + + + + + EdmProperty Type Kind + + + + + Association Constraint Type Kind + + + + + Ref Type Kind + + + + + Row Column Kind + + + + + Row Type Kind + + + + + Type Reference Kind + + + + + Model Kind + + + + + Namespace Kind + + + + + Primitive Facets Kind + + + + + Primitive Type Kind + + + + + Enum Type Kind + + + + + Enum Type Member Kind + + + + + EdmModel is the top-level container for namespaces and entity containers belonging to the same logical Entity Data Model (EDM) model. + + + + + Gets or sets an optional value that indicates the entity model version. + + + + + Gets or sets the containers declared within the model. + + + + + Gets or sets the namespaces declared within the model. + + + + + Allows the construction and modification of a namespace in an . + + + + + Gets all s declared within the namspace. Includes s, s, s. + + + + + Gets or sets the s declared within the namespace. + + + + + Gets or sets the s declared within the namespace. + + + + + Gets or sets the s declared within the namespace. + + + + + Allows the construction and modification of an Entity Data Model (EDM) navigation property. + + + + + Gets or sets the that specifies the association over which navigation takes place. + + + + + Gets or sets the that specifies which association end is the 'destination' end of the navigation and produces the navigation property result. + + + + + Specifies the action to take on a given operation. + + + + + Default behavior + + + + + Restrict the operation + + + + + Cascade the operation + + + + + Represents one of the fixed set of Entity Data Model (EDM) primitive types. + + + + + The base for all all Entity Data Model (EDM) types that represent a scalar type from the EDM type system. + + + + + Retrieves the EdmPrimitiveType instance with the corresponding to the specified value, if any. + + The name of the primitive type instance to retrieve + The EdmPrimitiveType with the specified name, if successful; otherwise null . + true if the given name corresponds to an EDM primitive type name; otherwise false . + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets an value that indicates which Entity Data Model (EDM) primitive type this type represents. + + + + + Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in an Entity Data Model (EDM) item. See . + + + + + Returns true if any facet value property currently has a non-null value; otherwise returns false . + + + + + Gets or sets an optional value indicating the current constraint on the type's maximum length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode. + + + + + Gets or sets an optional value indicating the current constraint on the type's precision. + + + + + Gets or sets an optional value indicating the current constraint on the type's scale. + + + + + Gets or sets an optional value indicating that the current spatial type's SRID is unconstrained. + + + + + Gets or sets an optional value indicating the current spatial type's SRID. + + + + + Gets or sets an optional value indicating whether the spatial type is to be type checked strictly. + + + + + Primitive Types as defined by the Entity Data Model (EDM). + + + + + Binary Type Kind + + + + + Boolean Type Kind + + + + + Byte Type Kind + + + + + DateTime Type Kind + + + + + Decimal Type Kind + + + + + Double Type Kind + + + + + Guid Type Kind + + + + + Single Type Kind + + + + + SByte Type Kind + + + + + Int16 Type Kind + + + + + Int32 Type Kind + + + + + Int64 Type Kind + + + + + String Type Kind + + + + + Time Type Kind + + + + + DateTimeOffset Type Kind + + + + + Geometry Type Kind + + + + + Geography Type Kind + + + + + Geometric point type kind + + + + + Geometric linestring type kind + + + + + Geometric polygon type kind + + + + + Geometric multi-point type kind + + + + + Geometric multi-linestring type kind + + + + + Geometric multi-polygon type kind + + + + + Geometric collection type kind + + + + + Geographic point type kind + + + + + Geographic linestring type kind + + + + + Geographic polygon type kind + + + + + Geographic multi-point type kind + + + + + Geographic multi-linestring type kind + + + + + Geographic multi-polygon type kind + + + + + Geographic collection type kind + + + + + Allows the construction and modification of a primitive- or complex-valued property of an Entity Data Model (EDM) entity or complex type. + + + + + Gets or sets an value that indicates which collection semantics - if any - apply to the property. + + + + + Gets or sets a value that indicates whether the property is used for concurrency validation. + + + + + Gets or sets on optional value that indicates an initial default value for the property. + + + + + Gets or sets an that specifies the result type of the property. + + + + + Enumerates all s declared or inherited by an . + + + + + Allows the construction and modification of a specific use of a type in an Entity Data Model (EDM) item. See for examples. + + + + + Gets or sets a value indicating the collection rank of the type reference. A collection rank greater than zero indicates that the type reference represents a collection of its referenced . + + + + + Gets or sets a value indicating the referenced by this type reference. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered nullable. + + + + + Gets or sets an optional instance that applies additional constraints to a referenced primitive type. + + + Accessing this property forces the creation of an EdmPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value. + + + + + Gets a value indicating whether the property of this type reference has been assigned an value with at least one facet value specified. + + + + + Indicates whether this type reference represents a collection of its referenced (when is greater than zero) or not. + + + + + Indicates whether the property of this type reference currently refers to an , is not a collection type, and does not have primitive facet values specified. + + + + + Gets the currently referred to by this type reference, or null if the type reference is a collection type or does not refer to a complex type. + + + + + Indicates whether the property of this type reference currently refers to an and is not a collection type. + + + + + Gets the currently referred to by this type reference, or null if the type reference is a collection type or does not refer to a primitive type. + + + + + Contains constant values that apply to the EDM model, regardless of source (for CSDL specific constants see ). + + + + + Parsing code taken from System.dll's System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string) method to avoid LinkDemand needed to call this method + + + + + + + + + + + Constants for CSDL XML. + + + + + Constants for C-S MSL XML. + + + + + Constants for SSDL XML. + + + + + The acceptable range for this enum is 0000 - 0999; the range 10,000-15,000 is reserved for tools. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Precision out of range + + + + + Scale out of range + + + + + + + + + + + + + One of the required facets is missing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The facet isn't allow by the property type. + + + + + This facet value is constant and is specified in the schema + + + + + + + + + + + + + Multiplicity value was malformed + + + + + The value for the Action attribute is invalid or not allowed in the current context + + + + + An error occurred processing the On<Operation> elements + + + + + Ends were given for the Property element of a EntityContainer that is not a RelationshipSet + + + + + The extent name used in the EntittyContainerType End does not match the name of any of the EntityContainerProperties in the containing EntityContainer + + + + + An end element was not given, and cannot be inferred because too many EntityContainerEntitySet elements that are good possibilities. + + + + + An end element was not given, and cannot be inferred because there is no EntityContainerEntitySets that are the correct type to be used as an EntitySet. + + + + + Not a valid parameter direction for the parameter in a function + + + + + Unable to infer an optional schema part, to resolve this; be more explicit + + + + + Invalid facet attribute(s) specified in provider manifest + + + + + Invalid role value in the relationship constraint + + + + + Invalid Property in relationship constraint + + + + + Type mismatch between ToProperty and FromProperty in the relationship constraint + + + + + Invalid multiplicity in FromRole in the relationship constraint + + + + + The number of properties in the FromProperty and ToProperty in the relationship constraint must be identical + + + + + No Properties defined in either FromProperty or ToProperty in the relationship constraint + + + + + Missing constraint in relationship type in ssdl + + + + + Same role referred in the ToRole and FromRole of a referential constraint + + + + + Invalid value for attribute ParameterTypeSemantics + + + + + Invalid type used for a Relationship End Type + + + + + Invalid PrimitiveTypeKind + + + + + Invalid TypeConversion DestinationType + + + + + Expected a integer value between 0 - 255 + + + + + Invalid Type specified in function + + + + + Precision must not be greater than 28 + + + + + Properties that are part of entity key must be of scalar type + + + + + Binary type properties which are part of entity key are currently not supported + + + + + The primitive type kind does not have a preferred mapping + + + + + More than one PreferredMapping for a PrimitiveTypeKind + + + + + End with * multiplicity cannot have operations specified + + + + + EntitySet type has no keys + + + + + InvalidNumberOfParametersForAggregateFunction + + + + + InvalidParameterTypeForAggregateFunction + + + + + Composable functions must declare a return type. + + + + + Non-composable functions must not declare a return type. + + + + + Non-composable functions do not permit the aggregate; niladic; or built-in attributes. + + + + + Composable functions can not include command text attribute. + + + + + Functions should not declare both a store name and command text (only one or the other can be used). + + + + + SystemNamespace + + + + + Empty DefiningQuery text + + + + + Schema, Table and DefiningQuery are all specified, and are mutually exclusive + + + + + ConcurrencyMode value was malformed + + + + + Concurrency can't change for any sub types of an EntitySet type. + + + + + Function import return type must be either empty, a collection of entities, or a singleton scalar. + + + + + Function import specifies a non-existent entity set. + + + + + Function import specifies entity type return but no entity set. + + + + + Function import specifies entity type that does not derive from element type of entity set. + + + + + Function import specifies a binding to an entity set but does not return entities. + + + + + InternalError + + + + + Same Entity Set Taking part in the same role of the relationship set in two different relationship sets + + + + + Entity key refers to the same property twice + + + + + Function declares a ReturnType attribute and element + + + + + Nullable Complex Type not supported in Edm V1 + + + + + Only Complex Collections supported in Edm V1.1 + + + + + No Key defined on Entity Type + + + + + Invalid namespace specified in using element + + + + + Need not specify system namespace in using + + + + + Cannot use a reserved/system namespace as alias + + + + + Invalid qualification specified for type + + + + + Invalid Entity Container Name in extends attribute + + + + + Invalid CollectionKind value in property CollectionKind attribute + + + + + Must specify namespace or alias of the schema in which this type is defined + + + + + Entity Container cannot extend itself + + + + + Failed to retrieve provider manifest + + + + + Mismatched Provider Manifest token values in SSDL artifacts + + + + + Missing Provider Manifest token value in SSDL artifact(s) + + + + + Empty CommandText element + + + + + Inconsistent Provider values in SSDL artifacts + + + + + Inconsistent Provider Manifest token values in SSDL artifacts + + + + + Duplicated Function overloads + + + + + InvalidProvider + + + + + FunctionWithNonEdmTypeNotSupported + + + + + ComplexTypeAsReturnTypeAndDefinedEntitySet + + + + + ComplexTypeAsReturnTypeAndDefinedEntitySet + + + + unused 179, + unused 180, + unused 181, + + In model functions facet attribute is allowed only on ScalarTypes + + + + + Captures several conditions where facets are placed on element where it should not exist. + + + + + Return type has not been declared + + + + + Invalid value in the EnumTypeOption + + + + + The structural annotation cannot use codegen namespaces + + + + + Function and type cannot have the same fully qualified name + + + + + Cannot load different version of schema in the same ItemCollection + + + + + Expected bool value + + + + + End without Multiplicity specified + + + + + In SSDL, if composable function returns a collection of rows (TVF), all row properties must be of scalar types. + + + + + The name of NamedEdmItem must not be empty or white space only + + + + + EdmTypeReference is empty + + Unused 199; + + + + Serializes an that conforms to the restrictions of a single CSDL schema file to an XML writer. The model to be serialized must contain a single and a single . + + + + + Serialize the to the XmlWriter. + + The EdmModel to serialize, mut have only one and one + The XmlWriter to serialize to + + + + Serialize the to the XmlWriter + + The DbModel to serialize + The XmlWriter to serialize to + + + + Serialize the to the + + The DbDatabaseMetadata to serialize + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + + + + + author/email + + + + + author/name + + + + + author/uri + + + + + published + + + + + rights + + + + + summary + + + + + title + + + + + contributor/email + + + + + contributor/name + + + + + contributor/uri + + + + + category/@label + + + + + Plaintext + + + + + HTML + + + + + XHTML + + + + + updated + + + + + link/@href + + + + + link/@rel + + + + + link/@type + + + + + link/@hreflang + + + + + link/@title + + + + + link/@length + + + + + category/@term + + + + + category/@scheme + + + + + Return role name pair + + + + + + + + The context for DataModel Validation + + + + + Returns true if the given two ends are similar - the relationship type that this ends belongs to is the same and the entity set refered by the ends are same and they are from the same role + + + + + + + + Return true if the Referential Constraint on the association is ready for further validation, otherwise return false. + + + + + + + Resolves the given property names to the property in the item Also checks whether the properties form the key for the given type and whether all the properties are nullable or not + + + + + + + + + + + Return true if the namespaceName is a Edm System Namespace + + + + + + + Return true if the entityType is a subtype of any entity type in the dictionary keys, and return the corresponding entry EntitySet value. Otherwise return false. + + + + + + + + + Return true if any of the properties in the EdmEntityType defines ConcurrencyMode. Otherwise return false. + + + + + + + Add member name to the Hash set, raise an error if the name exists already. + + + + + + + + + If the string is null, empty, or only whitespace, return false, otherwise return true + + + + + + + Determine if a cycle exists in the type hierarchy: use two pointers to walk the chain, if one catches up with the other, we have a cycle. + + true if a cycle exists in the type hierarchy, false otherwise + + + + RuleSet for DataModel Validation + + + + + Get the related rules given certain DataModelItem + + The to validate + A collection of + + + + Data Model Validator + + + + + Validate the and all of its properties given certain version. + + The root of the model to be validated + True to validate the syntax, otherwise false + + + + The RuleSet for EdmModel + + + + + Get based on version + + a double value of version + + + + + The context for EdmModel Validation + + + + + Visitor for EdmModel Validation + + + + + Edm Model Validator + + + + + validate the from the root with the context + + The root to validate from + The validation context + + + + An implementation of IDatabaseInitializer that will recreate and optionally re-seed the + database only if the database does not exist. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An instances of this class is obtained from an object and can be used + to manage the actual database backing a DbContext or connection. + This includes creating, deleting, and checking for the existence of a database. + Note that deletion and checking for existence of a database can be performed using just a + connection (i.e. without a full context) by using the static methods of this class. + + + + + Creates a Database backed by the given context. This object can be used to create a database, + check for database existence, and delete a database. + + The context that defines the database connection and model. + + + + Gets or sets the database initialization strategy. The database initialization strategy is called when instance + is initialized from a . The strategy can optionally check for database existence, create a new database, and + seed the database with data. + The default strategy is an instance of . + + The type of the context. + The strategy. + The database creation strategy. + + + + Internal version of SetInitializer that allows the strategy to be locked such that it cannot be replaced + by another call to SetInitializer. This allows strategies set in the app.config to win over strategies set + in code. + + The type of the context. + The strategy. + if set to true then the strategy is locked. + + + + Runs the the registered on this context. + + If "force" is set to true, then the initializer is run regardless of whether or not it + has been run before. This can be useful if a database is deleted while an app is running + and needs to be reinitialized. + + If "force" is set to false, then the initializer is only run if it has not already been + run for this context, model, and connection in this app domain. This method is typically + used when it is necessary to ensure that the database has been created and seeded + before starting some operation where doing so lazily will cause issues, such as when the + operation is part of a transaction. + + if set to true the initializer is run even if it has already been run. + + + + Checks whether or not the database is compatible with the the current Code First model. + + + Model compatibility currently uses the following rules. + + If the context was created using either the Model First or Database First approach then the + model is assumed to be compatible with the database and this method returns true. + + For Code First the model is considered compatible if the model is stored in the database + in the Migrations history table and that model has no differences from the current model as + determined by Migrations model differ. + + If the model is not stored in the database but an EF 4.1/4.2 model hash is found instead, + then this is used to check for compatibility. + + + If set to true then an exception will be thrown if no model metadata is found in + the database. If set to false then this method will return true if metadata + is not found. + + True if the model hash in the context and the database match; false otherwise. + + + + + Creates a new database on the database server for the model defined in the backing context. + Note that calling this method before the database initialization strategy has run will disable + executing that strategy. + + + + + Creates a new database on the database server for the model defined in the backing context, but only + if a database with the same name does not already exist on the server. + + True if the database did not exist and was created; false otherwise. + + + + Checks whether or not the database exists on the server. + + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + Calling this method from outside of an initializer will mark the database as having + not been initialized. This means that if an attempt is made to use the database again + after it has been deleted, then any initializer set will run again and, usually, will + try to create the database again automatically. + + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + + An existing connection to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + An existing connection to the database. + True if the database did exist and was deleted; false otherwise. + + + + Resets the DefaultConnectionFactory to its initial value. + Currently, this method is only used by test code. + + + + + Performs the operation defined by the given delegate using the given lazy connection, ensuring + that the lazy connection is disposed after use. + + Information used to create a DbConnection. + The operation to perform. + The return value of the operation. + + + + Performs the operation defined by the given delegate against a connection. The connection + is either the connection accessed from the context backing this object, or is obtained from + the connection information passed to one of the static methods. + + The connection to use. + The operation to perform. + The return value of the operation. + + + + Returns an empty ObjectContext that can be used to perform delete/exists operations. + + The connection for which to create an ObjectContext + The empty context. + + + + Creates a raw SQL query that will return elements of the given generic type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + The type of object returned by the query. + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Creates a raw SQL query that will return elements of the given type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + The type of object returned by the query. + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Executes the given DDL/DML command against the database. + + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Returns the connection being used by this context. This may cause the + connection to be created if it does not already exist. + + Thrown if the context has been disposed. + + + + Returns the as a delegate that can be called with + an instance of the that owns this Database object, or returns null if + there is no initializer set for this context type. + + The initializer delegate or null. + + + + The connection factory to use when creating a from just + a database name or a connection string. + + + This is used when just a database name or connection string is given to or when + the no database name or connection is given to DbContext in which case the name of + the context class is passed to this factory in order to generate a DbConnection. + By default, the instance to use is read from the applications .config + file from the "EntityFramework DefaultConnectionFactory" entry in appSettings. If no entry is found in + the config file then is used. Setting this property in code + always overrides whatever value is found in the config file. + + + + + Checks wether or not the DefaultConnectionFactory has been set to something other than its default value. + + + + + + + Common code for generic and non-generic string Include. + + + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have a AsNoTracking method, + then calling this method will have no affect. + + The element type. + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have a AsNoTracking method, + then calling this method will have no affect. + + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Common code for generic and non-generic AsNoTracking. + + + + + Enumerates the query such that for server queries such as those of , , + , and others the results of the query will be loaded into the associated , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + + + Returns an implementation that stays in sync with the given . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + DbModelBuilder is used to map CLR classes to a database schema. + This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'. + + + DbModelBuilder is typically used to configure a model by overriding . + You can also use DbModelBuilder independently of DbContext to build a model and then construct a + or . + The recommended approach, however, is to use OnModelCreating in as + the workflow is more intuitive and takes care of common tasks, such as caching the created model. + + Types that form your model are registered with DbModelBuilder and optional configuration can be + performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder + API. + + When the Build method is called a set of conventions are run to discover the initial model. + These conventions will automatically discover aspects of the model, such as primary keys, and + will also process any data annotations that were specified on your classes. Finally + any configuration that was performed using the DbModelBuilder API is applied. + + Configuration done via the DbModelBuilder API takes precedence over data annotations which + in turn take precedence over the default conventions. + + + + + Initializes a new instance of the class. + + The process of discovering the initial model will use the set of conventions included + in the most recent version of the Entity Framework installed on your machine. + + + Upgrading to newer versions of the Entity Framework may cause breaking changes + in your application because new conventions may cause the initial model to be + configured differently. There is an alternate constructor that allows a specific + version of conventions to be specified. + + + + + Initializes a new instance of the class that will use + a specific set of conventions to discover the initial model. + + The version of conventions to be used. + + + + Excludes a type from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The type to be excluded. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Excludes a type(s) from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The types to be excluded from the model. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Registers an entity type as part of the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same entity to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers a type as an entity in the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers a type as a complex type in the model and returns an object that can be used to + configure the complex type. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified complex type. + + + + Creates a based on the configuration performed using this builder. + The connection is used to determine the database provider being used as this + affects the database layer of the generated model. + + Connection to use to determine provider information. + The model that was built. + + + + Creates a based on the configuration performed using this builder. + Provider information must be specified because this affects the database layer of the generated model. + For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.) + + The database provider that the model will be used with. + The model that was built. + + + + Provides access to the settings of this DbModelBuilder that deal with conventions. + + + + + Gets the for this DbModelBuilder. + The registrar allows derived entity and complex type configurations to be registered with this builder. + + + + + A value from this enumeration can be provided directly to the + class or can be used in the applied to + a class derived from . The value used defines which version of + the DbContext and DbModelBuilder conventions should be used when building a model from + code--also know as "Code First". + + + Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available + when upgrading to a new release of the Entity Framework. However, it may result in an + application behaving differently with the new release than it did with a previous release. + This can be avoided by using a specific version of the conventions, but if a version + other than the latest is set then not all the latest functionality will be available. + + + + + Indicates that the latest version of the and + conventions should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework 4.1 + through 4.3 should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework 5.0 + when targeting .NET 4 should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework 5.0 + when targeting .NET 4.5 should be used. + + + + + This attribute can be applied to a class derived from to set which + version of the DbContext and conventions should be used when building + a model from code--also know as "Code First". See the + enumeration for details about DbModelBuilder versions. + + + If the attribute is missing from DbContextthen DbContext will always use the latest + version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest. + + + + + Initializes a new instance of the class. + + The conventions version to use. + + + + Gets the conventions version. + + The conventions version. + + + + A non-generic version of which can be used when the type of entity + is not known at build time. + + + + + Represents a non-generic LINQ to Entities query against a DbContext. + + + + + An internal interface implemented by and that allows access to + the internal query without using reflection. + + + + + The underlying internal set. + + + + + Internal constructor prevents external classes deriving from DbQuery. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + + Never returns; always throws. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns the equivalent generic object. + + The type of element for which the query was created. + The generic set object. + + + + Returns a representation of the underlying query. + + + The query string. + + + + + Returns false. + + false. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Gets the underlying internal query object. + + The internal query. + + + + The internal query object that is backing this DbQuery + + + + + An internal interface implemented by and that allows access to + the internal set without using reflection. + + + + + The underlying internal set. + + + + + Internal constructor prevents external classes deriving from DbSet. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Returns the equivalent generic object. + + The type of entity for which the set was created. + The generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + The internal IQueryable that is backing this DbQuery + + + + + Gets the underlying internal set. + + The internal set. + + + + A DbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. + + + Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a + one-to-one correlation between a type and a set. + + The type that defines the set. + + + + Represents a LINQ to Entities query against a DbContext. + + The type of entity to query for. + + + + Creates a new query that will be backed by the given internal query object. + + The backing query. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + + Never returns; always throws. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Returns a representation of the underlying query. + + + The query string. + + + + + Returns a new instance of the non-generic class for this query. + + A non-generic version. + + + + Returns false. + + false. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + The internal query object that is backing this DbQuery + + + + + The internal query object that is backing this DbQuery + + + + + An IDbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet is a concrete implementation of IDbSet. + + The type that defines the set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Creates a new set that will be backed by the given . + + The internal set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Returns the equivalent non-generic object. + + The non-generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + The internal IQueryable that is backing this DbQuery + + + + + An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the + database the first time that a context is used in the app domain. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the + database only if the model has changed since the database was created. + + + Whether or not the model has changed is determined by the + method. + To seed the database create a derived class and override the Seed method. + + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + Returned by the ChangeTracker method of to provide access to features of + the context that are related to change tracking of entities. + + + + + Initializes a new instance of the class. + + The internal context. + + + + Gets objects for all the entities tracked by this context. + + The entries. + + + + Gets objects for all the entities of the given type + tracked by this context. + + The type of the entity. + The entries. + + + + Detects changes made to the properties and relationships of POCO entities. Note that some types of + entity (such as change tracking proxies and entities that derive from ) + report changes automatically and a call to DetectChanges is not normally needed for these types of entities. + Also note that normally DetectChanges is called automatically by many of the methods of + and its related classes such that it is rare that this method will need to be called explicitly. + However, it may be desirable, usually for performance reasons, to turn off this automatic calling of + DetectChanges using the AutoDetectChangesEnabled flag from . + + + + + A non-generic version of the class. + + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + + + + Creates a from information in the given . + This method will create an instance of the appropriate subclass depending on the metadata contained + in the InternalMemberEntry instance. + + The internal member entry. + The new entry. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the name of the property. + + The property name. + + + + Gets or sets the current value of this property. + + The current value. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Gets the backing this object. + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal collection entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the collection element. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the collection of entities has been loaded from the database. + + true if the collection is loaded; otherwise, false. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Gets the backing this object as an . + + The internal member entry. + + + + Instances of this class are returned from the Collection method of + and allow operations such as loading to + be performed on the an entity's collection navigation properties. + + The type of the entity to which this property belongs. + The type of the element in the collection of entities. + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + This method will create an instance of the appropriate subclass depending on the metadata contained + in the InternalMemberEntry instance. + + The internal member entry. + The new entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets the underlying . + + The internal member entry. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal collection entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the collection of entities has been loaded from the database. + + true if the collection is loaded; otherwise, false. + + + + Gets the underlying as an . + + The internal member entry. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + An immutable representation of an Entity Data Model (EDM) model that can be used to create an + or can be passed to the constructor of a . + For increased performance, instances of this type should be cached and re-used to construct contexts. + + + + + For mocking. + + + + + Creates a model for the given EDM metadata model. + + The EDM metadata model. + + + + Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance + of DbContext can be created instead by using the appropriate DbContext constructor. + If a derived ObjectContext is used, then it must have a public constructor with a single + EntityConnection parameter. + The connection passed is used by the ObjectContext created, but is not owned by the context. The caller + must dispose of the connection once the context has been disposed. + + The type of context to create. + An existing connection to a database for use by the context. + + + + + Gets a cached delegate (or creates a new one) used to call the constructor for the given derived ObjectContext type. + + + + + A snapshot of the that was used to create this compiled model. + + + + + The provider info (provider name and manifest token) that was used to create this model. + + + + + A non-generic version of the class. + + + + + A non-generic version of the class. + + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false. + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Gets the backing this object. + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the complex property. + The equivalent generic object. + + + + Instances of this class are returned from the ComplexProperty method of + and allow access to the state of a complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Instances of this class are returned from the Property method of + and allow access to the state of the scalar + or complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false. + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Gets the underlying as an . + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Describes the origin of the database connection string associated with a . + + + + + The connection string was created by convention. + + + + + The connection string was read from external configuration. + + + + + The connection string was explicitly specified at runtime. + + + + + The connection string was overriden by connection information supplied to DbContextInfo. + + + + + Returned by the Configuration method of to provide access to configuration + options for the context. + + + + + Initializes a new instance of the class. + + The internal context. + + + + Gets or sets a value indicating whether lazy loading of relationships exposed as + navigation properties is enabled. Lazy loading is enabled by default. + + true if lazy loading is enabled; otherwise, false. + + + + Gets or sets a value indicating whether or not the framework will create instances of + dynamically generated proxy classes whenever it creates an instance of an entity type. + Note that even if proxy creation is enabled with this flag, proxy instances will only + be created for entity types that meet the requirements for being proxied. + Proxy creation is enabled by default. + + true if proxy creation is enabled; otherwise, false. + + + + + Gets or sets a value indicating whether tracked entities should be validated automatically when + is invoked. + The default value is true. + + + + + Provides runtime information about a given type. + + + + + Creates a new instance representing a given type. + + The type deriving from . + + + + Creates a new instance representing a given targeting a specific database. + + The type deriving from . + Connection information for the database to be used. + + + + Creates a new instance representing a given type. An external list of + connection strings can be supplied and will be used during connection string resolution in place + of any connection strings specified in external configuration files. + + + It is preferable to use the constructor that accepts the entire config document instead of using this + constructor. Providing the entire config document allows DefaultConnectionFactroy entries in the config + to be found in addition to explicitly specified connection strings. + + The type deriving from . + A collection of connection strings. + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + The type deriving from . + An object representing the config file. + + + + Creates a new instance representing a given , targeting a specific database. + An external config object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + The type deriving from . + An object representing the config file. + Connection information for the database to be used. + + + + Creates a new instance representing a given type. A + can be supplied in order to override the default determined provider used when constructing + the underlying EDM model. + + The type deriving from . + A specifying the underlying ADO.NET provider to target. + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + A can be supplied in order to override the default determined + provider used when constructing the underlying EDM model. This can be useful to prevent EF from + connecting to discover a manifest token. + + The type deriving from . + An object representing the config file. + A specifying the underlying ADO.NET provider to target. + + + + Called internally when a context info is needed for an existing context, which may not be constructable. + + The context instance to get info from. + + + + If instances of the underlying type can be created, returns + a new instance; otherwise returns null. + + A instance. + + + + The concrete type. + + + + + Whether or not instances of the underlying type can be created. + + + + + The connection string used by the underlying type. + + + + + The connection string name used by the underlying type. + + + + + The ADO.NET provider name of the connection used by the underlying type. + + + + + The origin of the connection string used by the underlying type. + + + + + An action to be run on the DbModelBuilder after OnModelCreating has been run on the context. + + + + + A non-generic version of the class. + + + + + Initializes a new instance of the class. + + The internal entry. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Returns a new instance of the generic class for the given + generic type for the tracked entity represented by this object. + Note that the type of the tracked entity must be compatible with the generic type or + an exception will be thrown. + + The type of the entity. + A generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Gets InternalEntityEntry object for this DbEntityEntry instance. + + + + + Instances of this class provide access to information about and control of entities that + are being tracked by the . Use the Entity or Entities methods of + the context to obtain objects of this type. + + The type of the entity. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + An expression representing the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + An expression representing the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The type of the member. + The name of the member. + An object representing the member. + + + + Returns a new instance of the non-generic class for + the tracked entity represented by this object. + + A non-generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Represents an Entity Data Model (EDM) created by the . + The Compile method can be used to go from this EDM representation to a + which is a compiled snapshot of the model suitable for caching and creation of + or instances. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Creates a for this mode which is a compiled snapshot + suitable for caching and creation of instances. + + The compiled model. + + + + A snapshot of the that was used to create this compiled model. + + + + + A collection of all the properties for an underlying entity or complex object. + + + An instance of this class can be converted to an instance of the generic class + using the Cast method. + Complex properties in the underlying entity or complex object are represented in + the property values as nested instances of this class. + + + + + Initializes a new instance of the class. + + The internal dictionary. + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Sets the values of this dictionary by reading values out of the given object. + The given object can be of any type. Any property on the object with a name that + matches a property name in the dictionary and can be read will be read. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. This is useful especially with + nested dictionaries to avoid writing expressions with lots of casts. + + The type of the property. + Name of the property. + The value of the property. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the internal dictionary. + + The internal dictionary. + + + + A non-generic version of the class. + + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal reference entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the entity has been loaded from the database. + + true if the entity is loaded; otherwise, false. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Gets the backing this object as an . + + The internal member entry. + + + + Instances of this class are returned from the Reference method of + and allow operations such as loading to + be performed on the an entity's reference navigation properties. + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal reference entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the entity has been loaded from the database. + + true if the entity is loaded; otherwise, false. + + + + Gets the underlying as an . + + The internal member entry. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using the . + See for a generic version of this class. + + + + + Initializes a new instance of the class. + + The internal query. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with no-tracking applied. + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Gets the internal query. + + The internal query. + + + + Returns false. + + false. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using the . + See for a non-generic version of this class. + + + + + Executes the query and returns an enumerator for the elements. + + An + + object that can be used to iterate through the elements. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with no-tracking applied. + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Gets the internal query. + + The internal query. + + + + Returns false. + + false. + + + + Exception thrown by when it was expected that SaveChanges for an entity would + result in a database update but in fact no rows in the database were affected. This usually indicates + that the database has been concurrently updated such that a concurrency token that was expected to match + did not actually match. + Note that state entries referenced by this exception are not serialized due to security and accesses to + the state entries after serialization will return null. + + + + + + Initializes a new instance of the class. + + The internal context. + The inner exception. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Subscribes the SerializeObjectState event. + + + + + Gets objects that represents the entities that could not + be saved to the database. + + The entries representing the entities that could not be saved. + + + + Holds exception state that will be serialized when the exception is serialized. + + + + + Completes the deserialization. + + The deserialized object. + + + + Gets or sets a value indicating whether the exception involved independent associations. + + + + + Initializes a new instance of the class. + + The context. + The inner exception. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Represents an entity used to store metadata about an EDM in the database. + + + + + Attempts to get the model hash calculated by Code First for the given context. + This method will return null if the context is not being used in Code First mode. + + The context. + The hash string. + + + + Gets or sets the ID of the metadata entity, which is currently always 1. + + The id. + + + + Gets or sets the model hash which is used to check whether the model has + changed since the database was created from it. + + The model hash. + + + + Contains methods used to access the Entity Data Model created by Code First in the EDMX form. + These methods are typically used for debugging when there is a need to look at the model that + Code First creates internally. + + + + + Uses Code First with the given context and writes the resulting Entity Data Model to the given + writer in EDMX form. This method can only be used with context instances that use Code First + and create the model internally. The method cannot be used for contexts created using Database + First or Model First, for contexts created using a pre-existing , or + for contexts created using a pre-existing . + + The context. + The writer. + + + + Writes the Entity Data Model represented by the given to the + given writer in EDMX form. + + An object representing the EDM. + The writer. + + + + A factory for creating derived instances. Implement this + interface to enable design-time services for context types that do not have a + public default constructor. + + At design-time, derived instances can be created in order to enable specific + design-time experiences such as model rendering, DDL generation etc. To enable design-time instantiation + for derived types that do not have a public, default constructor, implement + this interface. Design-time services will auto-discover implementations of this interface that are in the + same assembly as the derived type. + + + + + + Creates a new instance of a derived type. + + An instance of TContext + + + + This convention causes DbModelBuilder to include metadata about the model + when it builds the model. When creates a model by convention it will + add this convention to the list of those used by the DbModelBuilder. This will then result in + model metadata being written to the database if the DbContext is used to create the database. + This can then be used as a quick check to see if the model has changed since the last time it was + used against the database. + This convention can be removed from the conventions by overriding + the OnModelCreating method on a derived DbContext class. + + + + + Adds metadata to the given model configuration. + + The model configuration. + + + + This convention uses the name of the derived + class as the container for the conceptual model built by + Code First. + + + + + Initializes a new instance of the class. + + The model container name. + + + + Applies the convention to the given model. + + The model. + + + + This convention uses the namespace of the derived + class as the namespace of the conceptual model built by + Code First. + + + + + Initializes a new instance of the class. + + The model namespace. + + + + Applies the convention to the given model. + + The model. + + + + Instances of this class are used internally to create constant expressions for + that are inserted into the expression tree to replace references to + and . + + The type of the element. + + + + Private constructor called by the Create factory method. + + The query. + + + + Factory method called by CreateDelegate to create an instance of this class. + + The query, which must be a generic object of the expected type. + A new instance. + + + + The public property expected in the LINQ expression tree. + + The query. + + + + Instances of this class are used to create DbConnection objects for + SQL Server Compact Edition based on a given database name or connection string. + + + It is necessary to provide the provider invariant name of the SQL Server Compact + Edition to use when creating an instance of this class. This is because different + versions of SQL Server Compact Editions use different invariant names. + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server Compact Edition by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString + properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + + Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties. + + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + The path to prepend to the database name that will form the file name used by SQL Server Compact Edition + when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use + its default for the database file location. + + + The connection string to use for options to the database other than the 'Data Source'. The Data Source will + be prepended to this string based on the database name when CreateConnection is called. + + + + + Creates a connection for SQL Server Compact Edition based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + The path to prepend to the database name that will form the file name used by + SQL Server Compact Edition when it creates or reads the database file. + The default value is "|DataDirectory|", which means the file will be placed + in the designated data directory. + + + + + The connection string to use for options to the database other than the 'Data Source'. + The Data Source will be prepended to this string based on the database name when + CreateConnection is called. + The default is the empty string, which means no other options will be used. + + + + + The provider invariant name that specifies the version of SQL Server Compact Edition + that should be used. + + + + + Instances of this class are used to create DbConnection objects for + SQL Server based on a given database name or connection string. By default, the connection is + made to '.\SQLEXPRESS'. This can be changed by changing the base connection + string when constructing a factory instance. + + + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with a default BaseConnectionString property of + 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'. + + + + + Creates a new connection factory with the given BaseConnectionString property. + + + The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will + be prepended to this string based on the database name when CreateConnection is called. + + + + + Creates a connection for SQL Server based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Remove hard dependency on DbProviderFactories. + + + + + The connection string to use for options to the database other than the 'Initial Catalog'. + The 'Initial Catalog' will be prepended to this string based on the database name when + CreateConnection is called. + The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'. + + + + + This attribute can be applied to either an entire derived class or to + individual or properties on that class. When applied + any discovered or properties will still be included + in the model but will not be automatically initialized. + + + + + Thrown when a context is generated from the templates in Database First or Model + First mode and is then used in Code First mode. + + + Code generated using the T4 templates provided for Database First and Model First use may not work + correctly if used in Code First mode. To use these classes with Code First please add any additional + configuration using attributes or the DbModelBuilder API and then remove the code that throws this + exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Implements ICachedMetadataWorkspace for a Code First model. + + + + + Represents an object that holds a cached copy of a MetadataWorkspace and optionally the + assemblies containing entity types to use with that workspace. + + + + + Gets the MetadataWorkspace, potentially lazily creating it if it does not already exist. + If the workspace is not compatible with the provider manifest obtained from the given + connection then an exception is thrown. + + The connection to use to create or check SSDL provider info. + The workspace. + + + + The list of assemblies that contain entity types for this workspace, which may be empty, but + will never be null. + + + + + The default container name for code first is the container name that is set from the DbModelBuilder + + + + + The provider info used to construct the workspace. + + + + + Builds and stores the workspace based on the given code first configuration. + + The code first EDM model. + + + + Gets the . + If the workspace is not compatible with the provider manifest obtained from the given + connection then an exception is thrown. + + The connection to use to create or check SSDL provider info. + The workspace. + + + + The default container name for code first is the container name that is set from the DbModelBuilder + + + + + The list of assemblies that contain entity types for this workspace, which may be empty, but + will never be null. + + + + + The provider info used to construct the workspace. + + + + + The methods here are called from multiple places with an ObjectContext that may have + been created in a variety of ways and ensure that the same code is run regardless of + how the context was created. + + + + + Used a delegate to do the actual creation once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + Note however that a context obtained from only a connection will have no model and so + will result in an empty database. + + + + + Used a delegate to do the actual existence check once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + + + + + Used a delegate to do the actual check/delete once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given set of entity types and DbSet initializer delegate. + + + + + The entity types part of the pair. + + + + + The DbSet properties initializer part of the pair. + + + + + Static helper methods only. + + + + + Checks whether the given value is null and throws ArgumentNullException if it is. + This method should only be used in places where Code Contracts are compiled out in the + release build but we still need public surface null-checking, such as where a public + abstract class is implemented by an internal concrete class. + + + + + Checks whether the given string is null, empty, or just whitespace, and throws appropriately + if the check fails. + This method should only be used in places where Code Contracts are compiled out in the + release build but we still need public surface checking, such as where a public + abstract class is implemented by an internal concrete class. + + + + + Given two key values that may or may not be byte arrays, this method determines + whether or not they are equal. For non-binary key values, this is equivalent + to Object.Equals. For binary keys, it is by comparison of every byte in the + arrays. + + + + + Provides a standard helper method for quoting identifiers + + Identifier to be quoted. Does not validate that this identifier is valid. + Quoted string + + + + Checks the given string which might be a database name or a connection string and determines + whether it should be treated as a name or connection string. Currently, the test is simply + whether or not the string contains an '=' character--if it does, then it should be treated + as a connection string. + + The name or connection string. + true if the string should be treated as a connection string; false if it should be treated as a name. + + + + Determines whether the given string should be treated as a database name directly (it contains no '='), + is in the form name=foo, or is some other connection string. If it is a direct name or has name=, then + the name is extracted and the method returns true. + + The name or connection string. + The name. + True if a name is found; false otherwise. + + + + Determines whether the given string is a full EF connection string with provider, provider connection string, + and metadata parts, or is is instead some other form of connection string. + + The name or connection string. + true if the given string is an EF connection string; otherwise, false. + + + + + Parses a property selector expression used for the expression-based versions of the Property, Collection, Reference, + etc methods on and + classes. + + The type of the entity. + The type of the property. + The property. + Name of the method. + Name of the param. + The property name. + + + + Called recursively to parse an expression tree representing a property path such + as can be passed to Include or the Reference/Collection/Property methods of . + This involves parsing simple property accesses like o => o.Products as well as calls to Select like + o => o.Products.Select(p => p.OrderLines). + + The expression to parse. + The expression parsed into an include path, or null if the expression did not match. + True if matching succeeded; false if the expression could not be parsed. + + + + Gets a cached dictionary mapping property names to property types for all the properties + in the given type. + + + + + Gets a dictionary of compiled property setter delegates for the underlying types. + The dictionary is cached for the type in the app domain. + + + + + Used by the property setter delegates to throw for attempts to set null onto + non-nullable properties or otherwise go ahead and set the property. + + + + + Gets a dictionary of compiled property getter delegates for the underlying types. + The dictionary is cached for the type in the app domain. + + + + + Creates a new with the NoTracking merge option applied. + The query object passed in is not changed. + + The query. + A new query with NoTracking applied. + + + + Converts to + + + Name of the property being validated with ValidationAttributes. Null for type-level validation. + + + ValidationResults instances to be converted to instances. + + + An created based on the + . + + + class contains a property with names of properties the error applies to. + On the other hand each applies at most to a single property. As a result for + each name in ValidationResult.MemberNames one will be created (with some + exceptions for special cases like null or empty .MemberNames or null names in the .MemberNames). + + + + + Calculates a "path" to a property. For primitive properties on an entity type it is just the + name of the property. Otherwise it is a dot separated list of names of the property and all + its ancestor properties starting from the entity. + + Property for which to calculate the path. + Dot separated path to the property. + + + + Gets names of the property and its ancestor properties as enumerable walking "bottom-up". + + Property for which to get the segments. + Names of the property and its ancestor properties. + + + + Gets an type for the given element type. + + Type of the element. + The collection type. + + + + Creates a database name given a type derived from DbContext. This handles nested and + generic classes. No attempt is made to ensure that the name is not too long since this + is provider specific. If a too long name is generated then the provider will throw and + the user must correct by specifying their own name in the DbContext constructor. + + Type of the context. + The database name to use. + + + + A local (in-memory) view of the entities in a DbSet. + This view contains Added entities and does not contain Deleted entities. The view extends + from and hooks up events between the collection and the + state manager to keep the view in sync. + + The type of the entity. + + + + Initializes a new instance of the class for entities + of the given generic type in the given internal context. + + The internal context. + + + + Called by the base class when the collection changes. + This method looks at the change made to the collection and reflects those changes in the + state manager. + + The instance containing the event data. + + + + Handles events from the state manager for entities entering, leaving, or being marked as deleted. + The local view is kept in sync with these changes. + + The sender. + The instance containing the event data. + + + + Clears the items by calling remove on each item such that we get Remove events that + can be tracked back to the state manager, rather than a single Reset event that we + cannot deal with. + + + + + Adds a contains check to the base implementation of InsertItem since we can't support + duplicate entities in the set. + + The index at which to insert. + The item to insert. + + + + Returns a cached binding list implementation backed by this ObservableCollection. + + The binding list. + + + + Service used to search for instance properties on a DbContext class that can + be assigned a DbSet instance. Also, if the the property has a public setter, + then a delegate is compiled to set the property to a new instance of DbSet. + All of this information is cached per app domain. + + + + + Creates a set discovery service for the given derived context. + + + + + Processes the given context type to determine the DbSet or IDbSet + properties and collect root entity types from those properties. Also, delegates are + created to initialize any of these properties that have public setters. + If the type has been processed previously in the app domain, then all this information + is returned from a cache. + + A dictionary of potential entity type to the list of the names of the properties that used the type. + + + + Calls the public setter on any property found to initialize it to a new instance of DbSet. + + + + + Registers the entities and their entity set name hints with the given . + + The model builder. + + + + Returns false if SuppressDbSetInitializationAttribute is found on the property or the class, otherwise + returns true. + + + + + Determines whether or not an instance of DbSet/ObjectSet can be assigned to a property of the given type. + + The type to check. + The entity type of the DbSet/ObjectSet that can be assigned, or null if no set type can be assigned. + + + + + A EagerInternalConnection object wraps an already existing DbConnection object. + + + + + InternalConnection objects manage DbConnections. + Two concrete base classes of this abstract interface exist: + and . + + + + + IInternalConnection objects manage DbConnections. + Two concrete implementations of this interface exist--LazyInternalConnection and EagerInternalConnection. + + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Returns the underlying DbConnection. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if the connection contains model info; otherwise, false. + + + + Returns the origin of the underlying connection string. + + + + + Gets or sets an object representing a config file used for looking for DefaultConnectionFactory entries + and connection strins. + + + + + Gets or sets the provider to be used when creating the underlying connection. + + + + + Gets the name of the underlying connection string. + + + + + Gets the original connection string. + + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Called after the connection is initialized for the first time. + + + + + Adds a tracking cookie to the connection string for SqlConnections. Returns the + possibly modified store connection string. + + + + + Returns the underlying DbConnection. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if the connection contains model info; otherwise, false. + + + + Returns the origin of the underlying connection string. + + + + + Gets or sets an object representing a config file used for looking for DefaultConnectionFactory entries + and connection strins. + + + + + Gets or sets the provider to be used when creating the underlying connection. + + + + + Gets the name of the underlying connection string. + + + + + Gets the original connection string. + + + + + Gets or sets the underlying object. No initialization is done when the + connection is obtained, and it can also be set to null. + + The underlying connection. + + + + Creates a new EagerInternalConnection that wraps an existing DbConnection. + + An existing connection. + If set to true then the underlying connection should be disposed when this object is disposed. + + + + Dispose the existing connection is the original caller has specified that it should be disposed + by the framework. + + + + + Returns the origin of the underlying connection string. + + + + + An is an where the + instance that it wraps is set immediately at construction time rather than being created lazily. In this case + the internal context may or may not own the instance but will only dispose it + if it does own it. + + + + + An underlies every instance of and wraps an + instance. + The also acts to expose necessary information to other parts of the design in a + controlled manner without adding a lot of internal methods and properties to the + class itself. + Two concrete classes derive from this abstract class - and + . + + + + + Initializes the object with its owner. + + The owner . + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Creates a new temporary based on the same metadata and connection as the real + and sets it as the context to use DisposeTempObjectContext is called. + This allows this internal context and its DbContext to be used for transient operations + such as initializing and seeding the database, after which it can be thrown away. + This isolates the real from any changes made and and saves performed. + + + + + If a temporary ObjectContext was set with UseTempObjectContext, then this method disposes that context + and returns this internal context and its DbContext to using the real ObjectContext. + + + + + Called by methods of to create a database either using the Migrations pipeline + if possible and the core provider otherwise. + + The context to use for core provider calls. + + + + Internal implementation of . + + True if the model hash in the context and the database match; false otherwise. + + + + Checks whether the given model (an EDMX document) matches the current model. + + + + + Queries the database for a model hash and returns it if found or returns null if the table + or the row doesn't exist in the database. + + The model hash, or null if not found. + + + + Queries the database for a model stored in the MigrationHistory table and returns it as an EDMX, or returns + null if the database does not contain a model. + + + + + Saves the model hash from the context to the database. + + + + + Performs the initialization action that may result in a and + handle the exception to provide more meaning to the user. + + The action. + + + + Registers for the ObjectStateManagerChanged event on the underlying ObjectStateManager. + This is a virtual method on this class so that it can be mocked. + + The event handler. + + + + Checks whether or not the given object is in the context in any state other than Deleted. + This is a virtual method on this class so that it can be mocked. + + The entity. + true if the entity is in the context and not deleted; otherwise false. + + + + Saves all changes made in this context to the underlying database. + + The number of objects written to the underlying database. + + + + Initializes this instance, which means both the context is initialized and the underlying + database is initialized. + + + + + Initializes the underlying ObjectContext but does not cause the database to be initialized. + + + + + Marks the database as having not been initialized. This is called when the app calls Database.Delete so + that the database if the app attempts to then use the database again it will be re-initialized automatically. + + + + + Runs the unless it has already been run or there + is no initializer for this context type in which case this method does nothing. + + + + + Marks the database as having been initialized without actually running the . + + + + + Runs the if one has been set for this context type. + Calling this method will always cause the initializer to run even if the database is marked + as initialized. + + + + + Disposes the context. Override the DisposeContext method to perform + additional work when disposing. + + + + + Performs additional work to dispose a context. + + + + + Calls DetectChanges on the underlying if AutoDetectChangesEnabled is + true or if force is set to true. + + if set to true then DetectChanges is called regardless of the value of AutoDetectChangesEnabled. + + + + Returns the DbSet instance for the given entity type. + This property is virtual and returns to that it can be mocked. + + The entity type for which a set should be returned. + A set for the given entity type. + + + + Returns the non-generic instance for the given entity type. + This property is virtual and returns to that it can be mocked. + + The entity type for which a set should be returned. + A set for the given entity type. + + + + Creates an internal set using an app domain cached delegate. + + Type of the entity. + The set. + + + + Returns the entity set and the base type for that entity set for the given type. + This method does o-space loading if required and throws if the type is not in the model. + + The entity type to lookup. + The entity set and base type pair. + + + + Returns the entity set and the base type for that entity set for the given type if that + type is mapped in the model, otherwise returns null. + This method does o-space loading if required. + + The entity type to lookup. + The entity set and base type pair, or null if not found. + + + + Checks whether or not the given entity type is mapped in the model. + + The entity type to lookup. + True if the type is mapped as an entity; false otherwise. + + + + Gets the local entities of the type specified from the state manager. That is, all + Added, Modified, and Unchanged entities of the given type. + + The type of entity to get. + The entities. + + + + Executes the given SQL query against the database backing this context. The results are not materialized as + entities or tracked. + + The type of the element. + The SQL. + The parameters. + The query results. + + + + Executes the given SQL query against the database backing this context. The results are not materialized as + entities or tracked. + + Type of the element. + The SQL. + The parameters. + The query results. + + + + Calls the generic ExecuteSqlQuery but with a non-generic return type so that it + has the correct signature to be used with CreateDelegate above. + + + + + Executes the given SQL command against the database backing this context. + + The SQL. + The parameters. + The return value from the database. + + + + Gets the underlying for the given entity, or returns null if the entity isn't tracked by this context. + This method is virtual so that it can be mocked. + + The entity. + The state entry or null. + + + + Gets the underlying objects for all entities tracked by + this context. + This method is virtual so that it can be mocked. + + State entries for all tracked entities. + + + + Gets the underlying objects for all entities of the given + type tracked by this context. + This method is virtual so that it can be mocked. + + The type of the entity. + State entries for all tracked entities of the given type. + + + + Helper method that gets the underlying objects for all entities that + match the given predicate. + + + + + Wraps the given in either a or + a depending on the actual exception type and the state + entries involved. + + The update exception. + A new exception wrapping the given exception. + + + + Uses the underlying context to create an entity such that if the context is configured + to create proxies and the entity is suitable then a proxy instance will be returned. + This method is virtual so that it can be mocked. + + The type of the entity. + The new entity instance. + + + + Uses the underlying context to create an entity such that if the context is configured + to create proxies and the entity is suitable then a proxy instance will be returned. + This method is virtual so that it can be mocked. + + The type of entity to create. + The new entity instance. + + + + This method is used by CreateDelegate to transform the CreateObject method with return type TEntity + into a method with return type object which matches the required type of the delegate. + + + + + Replaces the connection that will be used by this context. + The connection can only be changed before the context is initialized. + + The new connection. + + + + Throws if the context has been disposed. + + + + + Checks whether or not the internal cache of types to entity sets has been initialized, + and initializes it if necessary. + + + + + Forces all DbSets to be initialized, which in turn causes o-space loading to happen + for any entity type for which we have a DbSet. This includes all DbSets that were + discovered on the user's DbContext type. + + + + + Performs o-space loading for the type and returns false if the type is not in the model. + + + + + Performs o-space loading for the type and throws if the type is not in the model. + + Type of the entity. + + + + Returns true if the given entity type does not have EdmEntityTypeAttribute but is in + an assembly that has EdmSchemaAttribute. This indicates mixing of POCO and EOCO in the + same assembly, which is something that we don't support. + + + + + Determines whether or not the given clrType is mapped to a complex type. Assumes o-space loading has happened. + + + + + Updates the cache of types to entity sets either for the first time or after potentially + doing some o-space loading. + + + + + The public context instance that owns this internal context. + + + + + Returns the underlying . + + + + + Gets the temp object context, or null if none has been set. + + The temp object context. + + + + The compiled model created from the Code First pipeline, or null if Code First was + not used to create this context. + Causes the Code First pipeline to be run to create the model if it has not already been + created. + + + + + Set to true when a database initializer is performing some actions, such as creating or deleting + a database, or seeding the database. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + Gets or sets a value indicating whether lazy loading is enabled. + + + + + Gets or sets a value indicating whether proxy creation is enabled. + + + + + Gets or sets a value indicating whether DetectChanges is called automatically in the API. + + + + + Gets or sets a value indicating whether to validate entities when is called. + + + + + True if the context has been disposed. + + + + + The connection underlying this context. Accessing this property does not cause the context + to be initialized, only its connection. + + + + + The connection string as originally applied to the context. This is used to perform operations + that need the connection string in a non-mutated form, such as with security info still intact. + + + + + Returns the origin of the underlying connection string. + + + + + Gets or sets an object representing a config file used for looking for DefaultConnectionFactory entries, + database intializers and connection strings. + + + + + Gets or sets the provider details to be used when building the EDM model. + + + + + Gets the name of the underlying connection string. + + + + + Gets the provider name bsing used either using a cached value or getting it from + the DbConnection in use. + + + + + Gets or sets a custom OnModelCreating action. + + + + + Gets the DatabaseOperations instance to use to perform Create/Delete/Exists operations + against the database. + Note that this virtual property can be mocked to help with unit testing. + + + + + Gets instance used to create validators and validation contexts. + This property is virtual to allow mocking. + + + + + For mocking. + + + + + Constructs an for an already existing . + + The owner . + The existing . + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Does nothing, since the already exists. + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Disposes the context. The underlying is also disposed if it is owned. + + + + + + + + Returns the underlying . + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + The connection underlying this context. + + + + + The connection string as originally applied to the context. This is used to perform operations + that need the connection string in a non-mutated form, such as with security info still intact. + + + + + Returns the origin of the underlying connection string. + + + + + Gets or sets a value indicating whether lazy loading is enabled. This is just a wrapper + over the same flag in the underlying . + + + + + Gets or sets a value indicating whether proxy creation is enabled. This is just a wrapper + over the same flag in the underlying ObjectContext. + + + + + An implementation of that represents a clone of another + dictionary. That is, all the property values have been been copied into this dictionary. + + + + + The internal class used to implement . + This internal class allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal context with which the entity of complex object is associated. + The type of the entity or complex object. + If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object. + + + + Implemented by subclasses to get the dictionary item for a given property name. + Checking that the name is valid should happen before this method is called such + that subclasses do not need to perform the check. + + Name of the property. + An item for the given name. + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Creates an instance of the underlying type for this dictionary, which may either be an entity type (in which + case CreateObject on the context is used) or a non-entity type (in which case the empty constructor is used.) + In either case, app domain cached compiled delegates are used to do the creation. + + + + + Sets the values of this dictionary by reading values out of the given object. + The given object must be of the type that this dictionary is based on. + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the dictionary item for the property with the given name. + This method checks that the given name is valid. + + The property name. + The item. + + + + Sets the value of the property only if it is different from the current value and is not + an invalid attempt to set a complex property. + + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the entity type of complex type that this dictionary is based on. + + The type of the object underlying this dictionary. + + + + Gets the internal context with which the underlying entity or complex type is associated. + + The internal context. + + + + Gets a value indicating whether the object for this dictionary is an entity or a complex object. + + true if this this is a dictionary for an entity; false if it is a dictionary for a complex object. + + + + Initializes a new instance of the class by copying + values from the given dictionary. + + The dictionary to clone. + If non-null, then the values for the new dictionary are taken from this record rather than from the original dictionary. + + + + Gets the dictionary item for a given property name. + + Name of the property. + An item for the given name. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + An implementation of for an item in a . + + + + + Represents an item in an representing a property name/value. + + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + true If this instance represents a complex property; otherwise, false. + + + + Gets the type of the underlying property. + + The property type. + + + + Initializes a new instance of the class. + + The name. + The value. + The type. + If set to true this item represents a complex property. + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + + true If this instance represents a complex property; otherwise, false. + + + + + Gets the type of the underlying property. + + The property type. + + + + An implementation of that is based on an existing + instance. + + + + + Initializes a new instance of the class. + + The internal context. + The type. + The data record. + If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object. + + + + Gets the dictionary item for a given property name. + + Name of the property. + An item for the given name. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + An implementation of for an item in a . + + + + + Initializes a new instance of the class. + + The data record. + The ordinal. + The value. + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + + true If this instance represents a complex property; otherwise, false. + + + + + Gets the type of the underlying property. + + The property type. + + + + This is version of an internal interface that already exists in System.Data.Entity that + is implemented by . Using this interface allows state + entries to be mocked for unit testing. The plan is to remove this version of the + interface and use the one in System.Data.Entity once we roll into the framework. + Note that some members may need to be added to the interface in the framework when + we combine the two. + + + + + The internal class used to implement and + . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Base class for and + containing common code for collection and reference navigation property entries. + + + + + Base class for all internal entries that represent different kinds of properties. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The member metadata. + + + + Validates this property. + + A sequence of validation errors for this property. Empty if no errors. Never null. + + + + Creates a new non-generic backed by this internal entry. + The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry. + + The type of the entity. + The type of the property. + The new entry. + + + + Gets the property name. + The property is virtual to allow mocking. + + The property name. + + + + Gets or sets the current value of the navigation property. + + The current value. + + + + Gets the internal entity entry property belongs to. + This property is virtual to allow mocking. + + The internal entity entry. + + + + Gets the entry metadata. + + The entry metadata. + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Calls Load on the underlying . + + + + + Uses CreateSourceQuery on the underlying to create a query for this + navigation property. + + + + + Gets the navigation property value from the object. + + The entity. + The navigation property value. + + + + Validates that the owning entity entry is associated with an underlying and + is not just wrapping a non-attached entity. + If the entity is not detached, then the RelatedEnd for this navigation property is obtained. + + + + + Calls IsLoaded on the underlying . + + + + + Gets the related end, which will be null if the entity is not being tracked. + + The related end. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + This property is virtual so that it can be mocked. + + The current value. + + + + Gets a delegate that can be used to get the value of the property directly from the entity. + Returns null if the property does not have an accessible getter. + + The getter delegate, or null. + + + + Gets a delegate that can be used to set the value of the property directly on the entity. + Returns null if the property does not have an accessible setter. + + The setter delegate, or null. + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Gets the navigation property value from the object. + Since for a collection the related end is an , it means + that the internal representation of the navigation property is just the related end. + + The entity. + The navigation property value. + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Creates a new generic backed by this internal entry. + The actual subtype of the DbCollectionEntry created depends on the metadata of this internal entry. + + The type of the entity. + The type of the element. + The new entry. + + + + Creates a object for the given entity type + and collection element type. + + The type of the entity. + The type of the property. + Type of the element. + The set. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + + The current value. + + + + The internal class used to implement + and . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal context. + The state entry. + + + + Initializes a new instance of the class for an + entity which may or may not be attached to the context. + + The internal context. + The entity. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + + The store values. + + + + Appends a query for the properties in the entity to the given string builder that is being used to + build the eSQL query. This method may be called recursively to query for all the sub-properties of + a complex property. + + The query builder. + The qualifier with which to prefix each property name. + The dictionary that acts as a template for the properties to query. + + + + Validates that a dictionary can be obtained for the state of the entity represented by this entry. + + The method name being used to request a dictionary. + The state that is invalid for the request being processed. + + + + Calls Refresh with StoreWins on the underlying state entry. + + + + + Gets an internal object representing a reference navigation property. + This method is virtual to allow mocking. + + The navigation property. + The type of entity requested, which may be 'object' or null if any type can be accepted. + The entry. + + + + Gets an internal object representing a collection navigation property. + This method is virtual to allow mocking. + + The navigation property. + The type of entity requested, which may be 'object' or null f any type can be accepted. + The entry. + + + + Gets an internal object representing a navigation, scalar, or complex property. + This method is virtual to allow mocking. + + Name of the property. + The type of entity requested, which may be 'object' if any type can be accepted. + The entry. + + + + Gets an internal object representing a scalar or complex property. + This method is virtual to allow mocking. + + The property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Gets an internal object representing a scalar or complex property. + The property may be a nested property on the given . + + The parent property entry, or null if this is a property directly on the entity. + Name of the property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Gets an internal object representing a scalar or complex property. + The property may be a nested property on the given . + + The parent property entry, or null if this is a property directly on the entity. + Name of the property. + The property split out into its parts. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Checks that the given property name is a navigation property and is either a reference property or + collection property according to the value of requireCollection. + + + + + Gets metadata for the given property if that property is a navigation property or returns null + if it is not a navigation property. + + Name of the property. + Navigation property metadata or null. + + + + Gets the type of entity or entities at the target end of the given navigation property. + + The navigation property. + The CLR type of the entity or entities at the other end. + + + + Gets the related end for the navigation property with the given name. + + The navigation property. + + + + + Uses EDM metadata to validate that the property name exists in the model and represents a scalar or + complex property or exists in the CLR type. + This method is public and virtual so that it can be mocked. + + The property name. + The type on which the property is declared. + The type of object requested, which may be 'object' if any type can be accepted. + Metadata for the property. + + + + Splits the given property name into parts delimited by dots. + + Name of the property. + The parts of the name. + + + + Validates that this entry is associated with an underlying and + is not just wrapping a non-attached entity. + + + + + Validates entity represented by this entity entry. + This method is virtual to allow mocking. + + User defined dictionary containing additional info for custom validation. This parameter is optional and can be null. + containing validation result. Never null. + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the tracked entity. + This property is virtual to allow mocking. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + This property is virtual to allow mocking. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + This property is virtual to allow mocking. + + The original values. + + + + Checks whether or not this entry is associated with an underlying or + is just wrapping a non-attached entity. + + + + + Gets the type of the entity being tracked. + + The type of the entity. + + + + Gets the c-space entity type for this entity from the EDM. + + + + + Gets the underlying object state entry. + + + + + Gets the internal context. + + The internal context. + + + + A concrete implementation of used for properties of entities. + + + + + The internal class used to implement and + . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal entry. + The property info. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. If this is a property of an entity, then this method returns + true if the property is modified. If this is a property of a complex object, then + this method returns true if the top-level complex property on the entity is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + If this is a property of an entity, then this method marks it as modified. + If this is a property of a complex object, then this method marks the top-level + complex property as modified. + + + + + Throws if the user attempts to set a complex property to null. + + The value. + + + + Sets the given value directly onto the underlying entity object. + + The value. + True if the property had a setter that we could attempt to call; false if no setter was available. + + + + Sets the property value, potentially by setting individual nested values for a complex + property. + + The value. + + + + Gets an internal object representing a scalar or complex property of this property, + which must be a mapped complex property. + This method is virtual to allow mocking. + + The property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Validates that the owning entity entry is associated with an underlying and + is not just wrapping a non-attached entity. + + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent entity or complex property. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent entity or complex property. + That is, the original values that contains the value for this property. + + The parent original values. + + + + A delegate that reads the value of this property. + May be null if there is no way to set the value due to missing accessors on the type. + + + + + A delegate that sets the value of this property. + May be null if there is no way to set the value due to missing accessors on the type. + + + + + Gets or sets the original value. + Note that complex properties are returned as objects, not property values. + + + + + Gets or sets the current value. + Note that complex properties are returned as objects, not property values. + Also, for complex properties, the object returned is the actual complex object from the entity + and setting the complex object causes the actual object passed to be set onto the entity. + + The current value. + + + + Gets or sets a value indicating whether this property is modified. + + + + + Gets the property metadata. + + The property metadata. + + + + Initializes a new instance of the class. + + The internal entry. + The property info. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. Since this is a property of an entity this method returns + true if the property is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + Since this is a property of an entity this method marks it as modified. + + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent entity. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent entity. + That is, the original values that contains the value for this property. + + The parent original values. + + + + A concrete implementation of used for properties of complex objects. + + + + + Initializes a new instance of the class. + + The parent property entry. + The property metadata. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. Since this is a property of a complex object + this method returns true if the top-level complex property on the entity is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + Since this is a property of a complex object this method marks the top-level + complex property as modified. + + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent complex property. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent complex property. + That is, the original values that contains the value for this property. + + The parent original values. + + + + The internal class used to implement , + and . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Gets the navigation property value from the object. + For reference navigation properties, this means getting the value from the + object. + + The entity. + The navigation property value. + + + + Sets the navigation property value onto the object. + For reference navigation properties, this means setting the value onto the + object. + + The entity. + The value. + + + + Sets the given value on the given which must be an + . + This method is setup in such a way that it can easily be used by CreateDelegate without any + dynamic code generation needed. + + The type of the related entity. + The entity reference. + The value. + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + + The current value. + + + + Contains metadata about a member of an entity type or complex type. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry if the new entry is nested, otherwise null. + The new entry. + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets the name of the property. + + The name. + + + + Gets the type of the entity or complex object that on which the member is declared. + + The type that the member is declared on. + + + + Gets the type of element for the property, which for non-collection properties + is the same as the MemberType and which for collection properties is the type + of element contained in the collection. + + The type of the element. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + The types of member entries supported. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + if set to true this is a collection nav prop. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry which will always be null for navigation entries. + The new entry. + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + Contains metadata for a property of a complex object or entity. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + if set to true the property is mapped in the EDM. + if set to true the property is a complex property. + + + + Validates that the given name is a property of the declaring type (either on the CLR type or in the EDM) + and that it is a complex or scalar property rather than a nav property and then returns metadata about + the property. + + The internal context. + The type that the property is declared on. + The type of property requested, which may be 'object' if any type can be accepted. + Name of the property. + Metadata about the property, or null if the property does not exist or is a navigation property. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry if the new entry is nested, otherwise null. + The new entry. + + + + Gets a value indicating whether this is a complex property. + That is, not whether or not this is a property on a complex object, but rather if the + property itself is a complex property. + + + true if this instance is complex; otherwise, false. + + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets a value indicating whether this instance is mapped in the EDM. + + true if this instance is mapped; otherwise, false. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + An implementation of that wraps an existing set but makes + it read-only. + + + + + + Initializes a new instance of the class wrapped around + another existing set. + + The existing set. + + + + This is a temporary adapter class that wraps an and + presents it as an . This class will be removed once + we roll into the System.Data.Entity assembly. See + for more details. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given EntitySet and BaseType. + + + + + The EntitySet part of the pair. + + + + + The BaseType part of the pair. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given database initializer delegate and a flag + indicating whether or not it is locked. + + + + + The initializer delegate. + + + + + A flag indicating whether or not the initializer is locked and should not be changed. + + + + + Represents a raw SQL query against the context for any type where the results are never + associated with an entity set and are never tracked. + + + + + Represents a raw SQL query against the context that may be for entities in an entity set + or for some other non-entity element type. + + + + + Initializes a new instance of the class. + + The SQL. + The parameters. + + + + If the query is would track entities, then this method returns a new query that will + not track entities. + + A no-tracking query. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Gets the SQL query string, + + The SQL query. + + + + Gets the parameters. + + The parameters. + + + + Returns false. + + false. + + + + Initializes a new instance of the class. + + The internal context. + Type of the element. + The SQL. + The parameters. + + + + Returns this query since it can never be a tracking query. + + This instance. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Generic wrapper around to allow results to be + returned as generic + + The type of the element. + + + + Executes the query and returns an enumerator for the elements. + + An + + object that can be used to iterate through the elements. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Returns false. + + false. + + + + Represents a raw SQL query against the context for entities in an entity set. + + + + + Initializes a new instance of the class. + + The set. + The SQL. + if set to true then the entities will not be tracked. + The parameters. + + + + If the query is would track entities, then this method returns a new query that will + not track entities. + + A no-tracking query. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Gets a value indicating whether this instance is set to track entities or not. + + + true if this instance is no-tracking; otherwise, false. + + + + + A LazyInternalConnection object manages information that can be used to create a DbConnection object and + is responsible for creating that object and disposing it. + + + + + Creates a new LazyInternalConnection using convention to calculate the connection. + The DbConnection object will be created lazily on demand and will be disposed when the LazyInternalConnection is disposed. + + Either the database name or a connection string. + + + + Creates a new LazyInternalConnection targeting a specific database. + The DbConnection object will be created lazily on demand and will be disposed when the LazyInternalConnection is disposed. + + The connection to target. + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Disposes the underlying DbConnection. + Note that dispose actually puts the LazyInternalConnection back to its initial state such that + it can be used again. + + + + + + Searches the app.config/web.config file for a connection that matches the given name. + The connection might be a store connection or an EF connection. + + The connection name. + + True if a connection from the app.config file was found and used. + + + + Attempts to locate a connection entry in the configuration based on the supplied context name. + + The name to search for. + The configuration to search in. + Connection string if found, otherwise null. + + + + Initializes the connection based on a connection string. + + The settings to initialize from. + + + + Returns the underlying DbConnection, creating it first if it does not already exist. + + + + + Returns the origin of the underlying connection string. + + + + + Gets the name of the underlying connection string. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if connection contain model info; otherwise, false. + + + + Gets a value indicating if the lazy connection has been initialized. + + + + + A is a concrete type that will lazily create the + underlying when needed. The created is owned by the + internal context and will be disposed when the internal context is disposed. + + + + + Constructs a for the given owner that will be initialized + on first use. + + The owner . + Responsible for creating a connection lazily when the context is used for the first time. + The model, or null if it will be created by convention + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Saves all changes made in this context to the underlying database, but only if the + context has been initialized. If the context has not been initialized, then this + method does nothing because there is nothing to do; in particular, it does not + cause the context to be initialized. + + The number of objects written to the underlying database. + + + + Disposes the context. The underlying is also disposed. + The connection to the database ( object) is also disposed if it was created by + the context, otherwise it is not disposed. + + + + + + + + Initializes the underlying . + + + + + Creates an immutable, cacheable representation of the model defined by this builder. + This model can be used to create an or can be passed to a + constructor to create a for this model. + + + + + + Creates and configures the instance that will be used to build the + . + + The builder. + + + + Marks the database as having not been initialized. This is called when the app calls Database.Delete so + that the database if the app attempts to then use the database again it will be re-initialized automatically. + + + + + Marks the database as having been initialized without actually running the . + + + + + Runs the unless it has already been run or there + is no initializer for this context type in which case this method does nothing. + + + + + Performs some action (which may do nothing) in such a way that it is guaranteed only to be run + once for the model and connection in this app domain, unless it fails by throwing an exception, + in which case it will be re-tried next time the context is initialized. + + The action. + + + + Returns the underlying . + + + + + The compiled model created from the Code First pipeline, or null if Code First was + not used to create this context. + Causes the Code First pipeline to be run to create the model if it has not already been + created. + + + + + The actually being used, which may be the + temp context for initialization or the real context. + + + + + The connection underlying this context. Accessing this property does not cause the context + to be initialized, only its connection. + + + + + The connection string as originally applied to the context. This is used to perform operations + that need the connection string in a non-mutated form, such as with security info still intact. + + + + + Returns the origin of the underlying connection string. + + + + + Gets or sets an object representing a config file used for looking for DefaultConnectionFactory entries + and connection strings. + + + + + Gets the name of the underlying connection string. + + + + + Gets or sets the provider details to be used when building the EDM model. + + + + + + + + Gets or sets a custom OnModelCreating action. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + Gets or sets a value indicating whether lazy loading is enabled. + If the exists, then this property acts as a wrapper over the flag stored there. + If the has not been created yet, then we store the value given so we can later + use it when we create the . This allows the flag to be changed, for example in + a DbContext constructor, without it causing the to be created. + + + + + Gets or sets a value indicating whether proxy creation is enabled. + If the ObjectContext exists, then this property acts as a wrapper over the flag stored there. + If the ObjectContext has not been created yet, then we store the value given so we can later + use it when we create the ObjectContext. This allows the flag to be changed, for example in + a DbContext constructor, without it causing the ObjectContext to be created. + + + + + A wrapping query provider that performs expression transformation and then delegates + to the provider. The objects returned are always instances + of . This provider is associated with generic objects. + + + + + Creates a provider that wraps the given provider. + + The provider to wrap. + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a . + + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a where T is determined + from the element type of the ObjectQuery. + + + + + By default, calls the same method on the wrapped provider. + + + + + By default, calls the same method on the wrapped provider. + + + + + Creates an appropriate generic IQueryable using Reflection and the underlying ElementType of + the given ObjectQuery. + + + + + Performs expression replacement and then delegates to the wrapped provider to create an + . + + + + + Wraps the given as a where T is determined + from the element type of the ObjectQuery. + + + + + Gets the internal context. + + The internal context. + + + + A LINQ expression visitor that finds uses with equivalent + instances. + + + + + Replaces calls to DbContext.Set() with an expression for the equivalent . + + The node to replace. + A new node, which may have had the replacement made. + + + + Replaces a or property with a constant expression + for the underlying . + + The node to replace. + A new node, which may have had the replacement made. + + + + Processes the fields in each constant expression and replaces instances with + the underlying ObjectQuery instance. This handles cases where the query has a closure + containing values. + + + + + Gets a value from the given member, or returns null + if the member doesn't contain a DbContext instance. + + The expression for the object for the member, which may be null for a static member. + The member. + The context or null. + + + + Gets the instance from the given instance or static member, returning null + if the member does not contain a DbContext instance. + + The member. + The value of the object to get the instance from, or null if the member is static. + The context instance or null. + + + + Takes a or and creates an expression + for the underlying . + + + + + Takes a or and extracts the underlying . + + + + + A non-generic interface implemented by that allows operations on + any query object without knowing the type to which it applies. + + + + + An interface implemented by . + + The type of the element. + + + + A non-generic interface implemented by that allows operations on + any set object without knowing the type to which it applies. + + + + + An interface implemented by . + + + + + An instance of this internal class is created whenever an instance of the public + class is needed. This allows the public surface to be non-generic, while the runtime type created + still implements . + + The type of the element. + + + + Creates a new query that will be backed by the given internal query object. + + The backing query. + + + + See comments in . + + + + + See comments in . + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the underlying internal query object. + + The internal query. + + + + An instance of this internal class is created whenever an instance of the public + class is needed. This allows the public surface to be non-generic, while the runtime type created + still implements . + + The type of the entity. + + + + Creates a new set that will be backed by the given internal set. + + The internal set. + + + + Creates an instance of this class. This method is used with CreateDelegate to cache a delegate + that can create a generic instance without calling MakeGenericType every time. + + + The internal set to wrap, or null if a new internal set should be created. + The set. + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the underlying internal query object. + + The internal query. + + + + Gets the underlying internal set. + + The internal set. + + + + See comments in . + + + + + An InternalQuery underlies every instance of DbSet and DbQuery. It acts to lazily initialize a InternalContext as well + as an ObjectQuery and EntitySet the first time that it is used. The InternalQuery also acts to expose necessary + information to other parts of the design in a controlled manner without adding a lot of internal methods and + properties to the DbSet and DbQuery classes themselves. + + The type of entity to query for. + + + + Creates a new query that will be backed by the given InternalContext. + + The backing context. + + + + Creates a new internal query based on the information in an existing query together with + a new underlying ObjectQuery. + + + + + Resets the query to its uninitialized state so that it will be re-lazy initialized the next + time it is used. This allows the ObjectContext backing a DbContext to be switched out. + + + + + Updates the underlying ObjectQuery with the given include path. + + The include path. + A new query containing the defined include path. + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that the query can be used. + + + + + Returns a representation of the underlying query, equivalent + to ToTraceString on ObjectQuery. + + + The query string. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + The underlying InternalContext. + + + + + The underlying ObjectQuery. + + + + + The underlying ObjectQuery. + + + + + The LINQ query expression. + + + + + The LINQ query provider for the underlying . + + + + + The IQueryable element type. + + + + + Creates a new query that will be backed by the given InternalContext. + + The backing context. + + + + Resets the set to its uninitialized state so that it will be re-lazy initialized the next + time it is used. This allows the ObjectContext backing a DbContext to be switched out. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Finds an entity in the state manager with the given primary key values, or returns null + if no such entity can be found. This includes looking for Added entities with the given + key values. + + + + + Finds an entity in the store with the given primary key values, or returns null + if no such entity can be found. This code is adapted from TryGetObjectByKey to + include type checking in the query. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + This method is virtual so that it can be mocked. + + The entity to attach. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + This method is virtual so that it can be mocked. + + The entity to add. + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + This method is virtual so that it can be mocked. + + The entity to remove. + + + + This method checks whether an entity is already in the context. If it is, then the state + is changed to the new state given. If it isn't, then the action delegate is executed to + either Add or Attach the entity. + + A delegate to Add or Attach the entity. + The new state to give the entity if it is already in the context. + The entity. + Name of the method. + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that the query can be used. + This method is virtual so that it can be mocked. + + + + + Attempts to perform lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that o-space loading has happened and the query can be used. This method doesn't throw if the type + for the set is not mapped. + + + + + Creates an underlying for this set. + + if set to true then the query is set to be no-tracking. + The query. + + + + Returns a representation of the underlying query, equivalent + to ToTraceString on ObjectQuery. + + + The query string. + + + + + Updates the underlying ObjectQuery with the given include path. + + The include path. + A new query containing the defined include path. + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Executes the given SQL query against the database materializing entities into the entity set that + backs this set. + + The SQL quey. + if true then the entities are not tracked, otherwise they are. + The parameters. + The query results. + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the ObservableCollection representing the local view for the set based on this query. + + + + + The underlying ObjectQuery. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet name. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet name, quoted for ESQL. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet. Accessing this property will trigger lazy initialization of the query. + + + + + The base type for the underlying entity set. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying InternalContext. Accessing this property will trigger lazy initialization of the query. + + + + + The LINQ query expression. + + + + + The LINQ query provider for the underlying . + + + + + A wrapping query provider that performs expression transformation and then delegates + to the provider. The objects returned + are always instances of when the generic CreateQuery method is + used and are instances of when the non-generic CreateQuery method + is used. This provider is associated with non-generic objects. + + + + + Creates a provider that wraps the given provider. + + The provider to wrap. + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a . + + + + + Delegates to the wrapped provider except returns instances of . + + + + + Creates an appropriate generic IQueryable using Reflection and the underlying ElementType of + the given ObjectQuery. + + + + + Extends to create a sortable binding list that stays in + sync with an underlying . That is, when items are added + or removed from the binding list, they are added or removed from the ObservableCollecion, and + vice-versa. + + The list element type. + + + + An extended BindingList implementation that implements sorting. + This class was adapted from the LINQ to SQL class of the same name. + + The element type. + + + + Initializes a new instance of the class with the + the given underlying list. Note that sorting is dependent on having an actual + rather than some other ICollection implementation. + + The list. + + + + Applies sorting to the list. + + The property to sort by. + The sort direction. + + + + Stops sorting. + + + + + Gets a value indicating whether this list is sorted. + + + true if this instance is sorted; otherwise, false. + + + + + Gets the sort direction. + + The sort direction. + + + + Gets the sort property being used to sort. + + The sort property. + + + + Returns true indicating that this list supports sorting. + + true. + + + + Implements comparing for the implementation. + + + + + Initializes a new instance of the class + for sorting the list. + + The property to sort by. + The sort direction. + + + + Compares two instances of items in the list. + + The left item to compare. + The right item to compare. + + + + + Determines whether this instance can sort for the specified type. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Determines whether this instance can sort for the specified type using IComparable. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Determines whether this instance can sort for the specified type using ToString. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Initializes a new instance of a binding list backed by the given + + The obervable collection. + + + + Creates a new item to be added to the binding list. + + The new item. + + + + Cancels adding of a new item that was started with AddNew. + + Index of the item. + + + + Removes all items from the binding list and underlying ObservableCollection. + + + + + Ends the process of adding a new item that was started with AddNew. + + Index of the item. + + + + Inserts the item into the binding list at the given index. + + The index. + The item. + + + + Removes the item at the specified index. + + The index. + + + + Sets the item into the list at the given position. + + The index to insert at. + The item. + + + + Event handler to update the binding list when the underlying observable collection changes. + + The sender. + Data indicating how the collection has changed. + + + + Adds the item to the underlying observable collection. + + The item. + + + + Removes the item from the underlying from observable collection. + + The item. + + + + Adapted from to allow the initializer to take an input object and + to do one-time initialization that only has side-effects and doesn't return a value. + + The type of the input. + + + + Initializes a new instance of the class. + + The action. + + + + Performs the action unless it has already been successfully performed before. + + The input to the action; ignored if the action has already succeeded. + + + + Adapted from to allow the initializer to take an input object and + to retry initialization if it has previously failed. + + + This class can only be used to initialize reference types that will not be null when + initialized. + + The type of the input. + The type of the result. + + + + Initializes a new instance of the class. + + The value factory. + + + + Gets the value, possibly by running the initializer if it has not been run before or + if all previous times it ran resulted in exceptions. + + The input to the initializer; ignored if initialization has already succeeded. + The initialized object. + + + + Validates a property of a given EDM complex type. + + + This is a composite validator for a complex property of an entity. + + + + + Validates a property of a given EDM property type. + + + This is a composite validator for a property of an entity or a complex type. + + + + + Simple validators for the corresponding property. + + + + + Name of the property the validator was created for. + + + + + Creates an instance of for a given EDM property. + + The EDM property name. + Validators used to validate the given property. + + + + Validates a property. + + Validation context. Never null. + Property to validate. Never null. + Validation errors as . Empty if no errors. Never null. + + + + + Simple validators for the corresponding property. + + + + + Gets the name of the property the validator was created for. + + + + + The complex type validator. + + + + + Creates an instance of for a given complex property. + + The complex property name. + Validators used to validate the given property. + Complex type validator. + + + + Validates a complex property. + + Validation context. Never null. + Property to validate. Never null. + Validation errors as . Empty if no errors. Never null. + + + + + Validator used to validate a property of a given EDM ComplexType. + + + This is a composite validator. + + + + + Validator used to validate an entity of a given EDM Type. + + + This is a composite validator for an EDM Type. + + + + + Creates an instance for a given EDM type. + + Property validators. + Type level validators. + + + + Validates an instance. + + Entity validation context. Must not be null. + The entry for the complex property. Null if validating an entity. + instance. Never null. + + Protected so it doesn't appear on EntityValidator. + + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Returns a validator for a child property. + + Name of the child property for which to return a validator. + + Validator for a child property. Possibly null if there are no validators for requested property. + + + + + Creates an instance for a given EDM complex type. + + Property validators. + Type level validators. + + + + Validates an instance. + + Entity validation context. Must not be null. + The entry for the complex property. Null if validating an entity. + instance. Never null. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Contains information needed to validate an entity or its properties. + + + + + The entity being validated or the entity that owns the property being validated. + + + + + Initializes a new instance of EntityValidationContext class. + + + The entity being validated or the entity that owns the property being validated. + + + External contexts needed for validation. + + + + + External context needed for validation. + + + + + Gets the entity being validated or the entity that owns the property being validated. + + + + + Validator used to validate an entity of a given EDM EntityType. + + + This is a top level, composite validator. This is also an entry point to getting an entity + validated as validation of an entity is always started by calling Validate method on this type. + + + + + Creates an instance for a given EDM entity type. + + Property validators. + Entity type level validators. + + + + Validates an entity. + + Entity validation context. Must not be null. + instance. Never null. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Builds validators based on s specified on entity CLR types and properties + as well as based on presence of implementation on entity and complex + type CLR types. It's not sealed and not static for mocking purposes. + + + + + Builds an for the given . + + The entity entry to build the validator for. + Whether the currently processed type is the target type or one of the ancestor types. + + + for the given . Possibly null + if no validation has been specified for this entity type. + + + + + Builds the validator for a given and the corresponding + . + + The CLR type that corresponds to the EDM complex type. + The EDM complex type that type level validation is built for. + A for the given complex type. May be null if no validation specified. + + + + Extracted method from BuildEntityValidator and BuildComplexTypeValidator + + + + + Build validators for the and the corresponding + or . + + Properties to build validators for. + Non-navigation EDM properties. + Navigation EDM properties. + A list of validators. Possibly empty, never null. + + + + Builds a for the given and the corresponding + . If the property is a complex type, type level validators will be built here as + well. + + The CLR property to build the validator for. + The EDM property to build the validator for. + + for the given . Possibly null + if no validation has been specified for this property. + + + + + Builds a for the given transient . + + The CLR property to build the validator for. + + for the given . Possibly null + if no validation has been specified for this property. + + + + + Builds s for given that derive from + . + + Attributes used to build validators. + + A list of s built from . + Possibly empty, never null. + + + + + Returns all non-static non-indexed CLR properties from the . + + The CLR to get the properties from. + + A collection of CLR properties. Possibly empty, never null. + + + + + Builds validators based on the facets of : + * If .Nullable facet set to false adds a validator equivalent to the RequiredAttribute + * If the .MaxLength facet is specified adds a validator equivalent to the MaxLengthAttribute. + However the validator isn't added if .IsMaxLength has been set to true. + + The CLR property to build the facet validators for. + The property for which facet validators will be created + A collection of validators. + + + + Abstracts simple validators used to validate entities and properties. + + + + + Validates an entity or a property. + + Validation context. Never null. + Property to validate. Can be null for type level validation. + Validation error as. Empty if no errors. Never null. + + + + + Contract for IValidator.Validate method. + + Validation context. + Property. + Nothing - always throws. + + + + Validates entities or complex types implementing IValidatableObject interface. + + + + + Display attribute used to specify the display name for an entity or complex property. + + + + + Validates an entity or a complex type implementing IValidatableObject interface. + This method is virtual to allow mocking. + + Validation context. Never null. + + Property to validate. Null if this is the entity that will be validated. Never null if this + is the complex type that will be validated. + + Validation error as . Empty if no errors. Never null. + + + Note that is used to figure out what needs to be validated. If it not null the complex + type will be validated otherwise the entity will be validated. + Also if this is an IValidatableObject complex type but the instance (.CurrentValue) is null we won't validate + anything and will not return any errors. The reason for this is that Validation is supposed to validate using + information the user provided and not some additional implicit rules. (ObjectContext will throw for operations + that involve null complex properties). + + + + + Validates a property, complex property or an entity using validation attributes the property + or the complex/entity type is decorated with. + + + Note that this class is used for validating primitive properties using attributes declared on the property + (property level validation) and complex properties and entities using attributes declared on the type + (type level validation). + + + + + Display attribute used to specify the display name for a property or entity. + + + + + Validation attribute used to validate a property or an entity. + + + + + Creates an instance of class. + + + Validation attribute used to validate a property or an entity. + + + + + Validates a property or an entity. + + Validation context. Never null. + Property to validate. Null for entity validation. Not null for property validation. + + + Validation errors as . Empty if no errors, never null. + + + + + Used to cache and retrieve generated validators and to create context for validating entities or properties. + + + + + Collection of validators keyed by the entity CLR type. Note that if there's no validation for a given type + it will be associated with a null validator. + + + + + Initializes a new instance of class. + + + + + Returns a validator to validate . + + Entity the validator is requested for. + + to validate . Possibly null if no validation + has been specified for the entity. + + + + + Returns a validator to validate . + + Navigation property the validator is requested for. + + Validator to validate . Possibly null if no validation + has been specified for the requested property. + + + + + Gets a validator for the . + + Entity validator. + Property to get a validator for. + + Validator to validate . Possibly null if there is no validation for the + . + + + For complex properties this method walks up the type hierarchy to get to the entity level and then goes down + and gets a validator for the child property that is an ancestor of the property to validate. If a validator + returned for an ancestor is null it means that there is no validation defined beneath and the method just + propagates (and eventually returns) null. + + + + + Creates for . + + Entity entry for which a validation context needs to be created. + User defined dictionary containing additional info for custom validation. This parameter is optional and can be null. + An instance of class. + + + + + A wrapper around EntityKey that allows key/values pairs that have null values to + be used. This allows Added entities with null key values to be searched for in + the ObjectStateManager. + + + + The key name/key value pairs, where some key values may be null + + + + Creates a new WrappedEntityKey instance. + + The entity set that the key belongs to. + The fully qualified name of the given entity set. + The key values, which may be null or contain null values. + The name of the parameter passed for keyValue by the user, which is used when throwing exceptions. + + + + True if any of the key values are null, which means that the EntityKey will also be null. + + + + + An actual EntityKey, or null if any of the key values are null. + + + + + The key name/key value pairs of the key, in which some of the key values may be null. + + + + + Allows configuration to be performed for an complex type in a model. + + A ComplexTypeConfiguration can be obtained via the ComplexType method on + or a custom type derived from ComplexTypeConfiguration + can be registered via the Configurations property on . + + The complex type to be configured. + + + + Allows configuration to be performed for a type in a model. + + The type to be configured. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + + + + Initializes a new instance of ComplexTypeConfiguration + + + + + Allows derived configuration classes for entities and complex types to be registered with a . + + + Derived configuration classes are created by deriving from + or and using a type to be included in the model as the generic + parameter. + + Configuration can be performed without creating derived configuration classes via the Entity and ComplexType + methods on . + + + + + Adds an to the . + Only one can be added for each type in a model. + + The entity type being configured. + The entity type configuration to be added. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The complex type being configured. + The complex type configuration to be added + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Allows the conventions used by a instance to be customized. + Currently removal of one or more default conventions is the only supported operation. + The default conventions can be found in the System.Data.Entity.ModelConfiguration.Conventions namespace. + + + + + Disables a convention for the . + The default conventions that are available for removal can be found in the System.Data.Entity.ModelConfiguration.Conventions namespace. + + The type of the convention to be disabled. + + + + Configures the table and column mapping for an entity type or a sub-set of properties from an entity type. + This configuration functionality is available via the Code First Fluent API, see . + + The entity type to be mapped. + + + + Configures the properties that will be included in this mapping fragment. + If this method is not called then all properties that have not yet been + included in a mapping fragment will be configured. + + An anonymous type including the properties to be mapped. + + A lambda expression to an anonymous type that contains the properties to be mapped. + C#: t => new { t.Id, t.Property1, t.Property2 } + VB.Net: Function(t) New With { p.Id, t.Property1, t.Property2 } + + + + + Re-maps all properties inherited from base types. + + When configuring a derived type to be mapped to a separate table this will cause all properties to + be included in the table rather than just the non-inherited properties. This is known as + Table per Concrete Type (TPC) mapping. + + + + + Configures the table name to be mapped to. + + Name of the table. + + + + Configures the table name and schema to be mapped to. + + Name of the table. + Schema of the table. + + + + Configures the discriminator column used to differentiate between types in an inheritance hierarchy. + + The name of the discriminator column. + A configuration object to further configure the discriminator column and values. + + + + Configures the discriminator condition used to differentiate between types in an inheritance hierarchy. + + The type of the property being used to discriminate between types. + + A lambda expression representing the property being used to discriminate between types. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object to further configure the discriminator condition. + + + + Moves a foreign key constraint from oldTable to newTable and updates column references + + + + + Move any FK constraints that are now completely in newTable and used to refer to oldColumn + + + + + Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the condition to require a value in the property. + + Rows that do not have a value assigned to column that this property is stored in are + assumed to be of the base type of this entity type. + + + + + Populate the table mapping structure + + + + + Sets nullability for association set mappings' foreign keys for 1:* and 1:0..1 associations + when no base types share the the association set mapping's table + + + + + Makes sure only the required property mappings are present + + + + + Determines if the table and entity type need mapping, and if not, removes the existing entity type mapping + + + + + Configures a database column used to store a string values. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the column to allow the maximum length supported by the database provider. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + + Configures the column to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be variable length. + Columns are variable length by default. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be optional. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be required. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column. + + Name of the database provider specific data type. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column. + + The order that this column should appear in the database table. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to support Unicode string content. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the column supports Unicode string content. + + + Value indicating if the column supports Unicode string content or not. + Specifying 'null' will remove the Unicode facet from the column. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures a discriminator column used to differentiate between types in an inheritance hierarchy. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Initializes configurations in the ModelConfiguration so that configuration data + is in a single place + + + + + Configures a many relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be many:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures an optional relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be optional:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + + A lambda expression representing the navigation property on the other end of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + Configures an required relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be required:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + Base class for configuring a property on an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + True if the NavigationProperty's declaring type is the principal end, false if it is not, null if it is not known + + + + + Base class for performing configuration of a relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures a relationship that can support cascade on delete functionality. + + + + + Configures cascade delete to be on for the relationship. + + + + + Configures whether or not cascade delete is on for the relationship. + + Value indicating if cascade delete is on or not. + + + + Configures a relationship that can support foreign key properties that are exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + The dependent entity type. + + + + Configures a relationship that can only support foreign key properties that are not exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the relationship to use foreign key property(s) that are not exposed in the object model. + The column(s) and table can be customized by specifying a configuration action. + If an empty configuration action is specified then column name(s) will be generated by convention. + If foreign key properties are exposed in the object model then use the HasForeignKey method. + Not all relationships support exposing foreign key properties in the object model. + + Action that configures the foreign key column(s) and table. + + A configuration object that can be used to further configure the relationship. + + + + + Configures the relationship to use foreign key property(s) that are exposed in the object model. + If the foreign key property(s) are not exposed in the object model then use the Map method. + + The type of the key. + + A lambda expression representing the property to be used as the foreign key. + If the foreign key is made up of multiple properties then specify an anonymous type including the properties. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the principal entity type. + + A configuration object that can be used to further configure the relationship. + + + + Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the column(s) for the foreign key. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name and schema that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + Schema of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table and column mapping of a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the join table name for the relationship. + + Name of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the join table name and schema for the relationship. + + Name of the table. + Schema of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the left foreign key. + The left foreign key represents the navigation property specified in the HasMany call. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the right foreign key. + The right foreign key represents the navigation property specified in the WithMany call. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the foreign key column(s) and table used to store the relationship. + + Action that configures the foreign key column(s) and table. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Used to configure a property with length facets for an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to allow the maximum length supported by the database provider. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + Properties are variable length by default. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to allow the maximum length supported by the database provider. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to support Unicode string content. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property supports Unicode string content. + + + Value indicating if the property supports Unicode string content or not. + Specifying 'null' will remove the Unicode facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Indicates what parts of a configuration are overridable. + + + + + Nothing in the configuration is overridable. + + + + + The configuration values related to C-Space are overridable. + + + + + The configuration values only related to S-Space are overridable. + + + + + True if this configuration can be replaced in the model configuration, false otherwise + This is only set to true for configurations that are registered automatically via the DbContext + + + + + Base class for conventions that process CLR attributes found in the model. + + The type of member to look for. + The type of the configuration to look for. + The type of the attribute to look for. + + + + Convention to process instances of found on properties in the model + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on foreign key properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to process instances of found on primitive properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to detect navigation properties to be inverses of each other when only one pair + of navigation properties exists between the related types. + + + + + Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties. + + + + + Convention to convert any data types that were explicitly specified, via data annotations or API, + to be lower case. The default SqlClient provider is case sensitive and requires data types to be lower case. This convention + allows the and API to be case insensitive. + + + + + Convention to add a cascade delete to the join table from both tables involved in a many to many relationship. + + + + + Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties + + + + + Convention to set the table name to be a pluralized version of the entity type name. + + + + + Convention to set precision to 18 and scale to 2 for decimal properties. + + + + + Convention to move primary key properties to appear first. + + + + + Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property. + + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to detect primary key properties. + Recognized naming patterns in order of precedence are: + 1. 'Id' + 2. [type name]Id + Primary key detection is case insensitive. + + + + + Convention to discover foreign key properties whose names are a combination + of the dependent navigation property name and the principal type primary key property name(s). + + + + + Convention to enable cascade delete for any required relationships. + + + + + Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship. + + + + + Convention to set the entity set name to be a pluralized version of the entity type name. + + + + + Convention to discover foreign key properties whose names match the principal type primary key property name(s). + + + + + Convention to set a default maximum length of 128 for properties whose type supports length facets. + + + + + Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider. + + + + + Convention to configure integer primary keys to be identity. + + + + + Checks for the PK property being an FK in a different table. A PK which is also an FK but + in the same table is used for table splitting and can still be an identity column because + the update pipeline is only inserting into one column of one table. + + + + + Convention to discover foreign key properties whose names are a combination + of the principal type name and the principal type primary key property name(s). + + + + + This class provide service for both the singularization and pluralization, it takes the word pairs + in the ctor following the rules that the first one is singular and the second one is plural. + + + + + Factory method for PluralizationService. Only support english pluralization. + Please set the PluralizationService on the System.Data.Entity.Design.EntityModelSchemaGenerator + to extend the service to other locales. + + CultureInfo + PluralizationService + + + + captalize the return word if the parameter is capitalized + if word is "Table", then return "Tables" + + + + + + + + separate one combine word in to two parts, prefix word and the last word(suffix word) + + + + + + + + return true when the word is "[\s]*" or leading or tailing with spaces + or contains non alphabetical characters + + + + + + + This method allow you to add word to internal PluralizationService of English. + If the singluar or the plural value was already added by this method, then an ArgumentException will be thrown. + + + + + + + Attempt to determine the principal and dependent ends of this association. + + The following table illustrates the solution space. + + Source | Target || Prin | Dep | + -------|--------||-------|-------| + 1 | 1 || - | - | + 1 | 0..1 || Sr | Ta | + 1 | * || Sr | Ta | + 0..1 | 1 || Ta | Sr | + 0..1 | 0..1 || - | - | + 0..1 | * || Sr | Ta | + * | 1 || Ta | Sr | + * | 0..1 || Ta | Sr | + * | * || - | - | + + + + + Allows configuration to be performed for an entity type in a model. + + An EntityTypeConfiguration can be obtained via the Entity method on + or a custom type derived from EntityTypeConfiguration + can be registered via the Configurations property on . + + + + + Initializes a new instance of EntityTypeConfiguration + + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + + A lambda expression representing the property to be used as the primary key. + C#: t => t.Id + VB.Net: Function(t) t.Id + + If the primary key is made up of multiple properties then specify an anonymous type including the properties. + C#: t => new { t.Id1, t.Id2 } + VB.Net: Function(t) New With { t.Id1, t.Id2 } + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + + + Allows advanced configuration related to how this entity type is mapped to the database schema. + By default, any configuration will also apply to any type derived from this entity type. + + Derived types can be configured via the overload of Map that configures a derived type or + by using an EntityTypeConfiguration for the derived type. + + The properties of an entity can be split between multiple tables using multiple Map calls. + + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + An action that performs configuration against an . + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how a derived entity type is mapped to the database schema. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + The derived entity type to be configured. + An action that performs configuration against an . + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures an optional relationship from this entity type. + Instances of the entity type will be able to be saved to the database without this relationship being specified. + The foreign key in the database will be nullable. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures a required relationship from this entity type. + Instances of the entity type will not be able to be saved to the database unless this relationship is specified. + The foreign key in the database will be non-nullable. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures a many relationship from this entity type. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Handles mapping from a CLR property to an EDM assocation and nav. prop. + + + + + Exception thrown by during model creation when an invalid model is generated. + + + + + Initializes a new instance of ModelValidationException + + + + + Initializes a new instance of ModelValidationException + + The exception message. + + + + Initializes a new instance of ModelValidationException + + The exception message. + The inner exception. + + + + Code Contracts hook methods - Called when contracts fail. Here we detect the most common preconditions + so we can throw the correct exceptions. It also means that we can write preconditions using the + simplest Contract.Requires() form. + + + + + Returns true if a variable of this type can be assigned a null value + + + + True if a reference type or a nullable value type, + false otherwise + + + + + Exception thrown from when validating entities fails. + + + + + Initializes a new instance of DbEntityValidationException + + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + Validation results. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + The inner exception. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + Validation results. + The inner exception. + + + + Subscribes the SerializeObjectState event. + + + + + Validation results. + + + + + Holds exception state that will be serialized when the exception is serialized. + + + + + Validation results. + + + + + Completes the deserialization. + + The deserialized object. + + + + Validation results. + + + + + Represents validation results for single entity. + + + + + Entity entry the results applies to. Never null. + + + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Creates an instance of class. + + + Entity entry the results applies to. Never null. + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Creates an instance of class. + + + Entity entry the results applies to. Never null. + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Gets an instance of the results applies to. + + + + + Gets validation errors. Never null. + + + + + Gets an indicator if the entity is valid. + + + + + Exception thrown from when an exception is thrown from the validation + code. + + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + The inner exception. + + + + Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and + context. + + The serialization info. + The streaming context. + + + + Validation error. Can be either entity or property level validation error. + + + + + Name of the invalid property. Can be null (e.g. for entity level validations) + + + + + Validation error message. + + + + + Creates an instance of . + + Name of the invalid property. Can be null. + Validation error message. Can be null. + + + + Gets name of the invalid property. + + + + + Gets validation error message. + + + + diff --git a/packages/EntityFramework.5.0.0/lib/net45/EntityFramework.dll b/packages/EntityFramework.5.0.0/lib/net45/EntityFramework.dll new file mode 100644 index 000000000..261848547 Binary files /dev/null and b/packages/EntityFramework.5.0.0/lib/net45/EntityFramework.dll differ diff --git a/packages/EntityFramework.5.0.0/lib/net45/EntityFramework.xml b/packages/EntityFramework.5.0.0/lib/net45/EntityFramework.xml new file mode 100644 index 000000000..aa84a9ee5 --- /dev/null +++ b/packages/EntityFramework.5.0.0/lib/net45/EntityFramework.xml @@ -0,0 +1,17968 @@ + + + + EntityFramework + + + + + The base for all all Entity Data Model (EDM) types that represent a type from the EDM type system. + + + + + Represents an item in an Entity Data Model (EDM) . + + + + + The base for all all Entity Data Model (EDM) item types that with a Name property that represents a qualified (can be dotted) name. + + + + + The base for all all Entity Data Model (EDM) item types that with a property. + + + + + The base for all all Entity Data Model (EDM) types that support annotation using . + + + + + EdmDataModelItem is the base for all types in the Entity Data Model (EDM) metadata construction and modification API. + + + + + DataModelItem is the base for all types in the EDM metadata reflection, construction and modification API. + + + + + Gets an value indicating which Entity Data Model (EDM) concept is represented by this item. + + + + + IAnnotatedDataModelItem is implemented by model-specific base types for all types with an property. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets or sets the currently assigned annotations. + + + + + Returns all EdmItem children directly contained by this EdmItem. + + + + + INamedDataModelItem is implemented by model-specific base types for all types with a property. + + + + + Gets or sets the currently assigned name. + + + + + Gets or sets the currently assigned name. + + + + + Gets a value indicating whether this type is abstract. + + + + + Gets the optional base type of this type. + + + + + EdmStructuralMember is the base for all types that represent members of structural items in the Entity Data Model (EDM) metadata construction and modification API. + + + + + Represents information about a database connection. + + + + + Creates a new instance of DbConnectionInfo representing a connection that is specified in the application configuration file. + + The name of the connection string in the application configuration. + + + + Creates a new instance of DbConnectionInfo based on a connection string. + + The connection string to use for the connection. + The name of the provider to use for the connection. Use 'System.Data.SqlClient' for SQL Server. + + + + Gets the connection information represented by this instance. + + Configuration to use if connection comes from the configuration file. + + + + Instances of this class are used to create DbConnection objects for + SQL Server LocalDb based on a given database name or connection string. + + + An instance of this class can be set on the class or in the + app.config/web.config for the application to cause all DbContexts created with no + connection information or just a database name to use SQL Server LocalDb by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Implementations of this interface are used to create DbConnection objects for + a type of database server based on a given database name. + An Instance is set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use a certain type of database server by default. + Two implementations of this interface are provided: + is used to create connections to Microsoft SQL Server, including EXPRESS editions. + is used to create connections to Microsoft SQL + Server Compact Editions. + Other implementations for other database servers can be added as needed. + Note that implementations should be thread safe or immutable since they may + be accessed by multiple threads at the same time. + + + + + Creates a connection based on the given database name or connection string. + + The database name or connection string. + An initialized DbConnection. + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + + The LocalDb version to use. + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + + + The LocalDb version to use. + + The connection string to use for options to the database other than the 'Initial Catalog', + 'Data Source', and 'AttachDbFilename'. + The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the + database name when CreateConnection is called. + The 'Data Source' will be set based on the LocalDbVersion argument. + + + + + Creates a connection for SQL Server LocalDb based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + The connection string to use for options to the database other than the 'Initial Catalog', + 'Data Source', and 'AttachDbFilename'. + The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the + database name when CreateConnection is called. + The 'Data Source' will be set based on the LocalDbVersion argument. + The default is 'Integrated Security=True; MultipleActiveResultSets=True;'. + + + + + Encapsulates a cloned and store . Note that these + objects are disposable and should be used in a using block to ensure both the cloned context and the + cloned connection are disposed. + + + + + For mocking. + + + + + Creates a clone of the given . The underlying of + the context is also cloned and the given connection string is used for the connection string of + the cloned connection. + + + + + Finds the assemblies that were used for loading o-space types in the source context + and loads those assemblies in the cloned context. + + + + + Disposes both the underlying ObjectContext and its store connection. + + + + + The cloned context. + + + + + This is always the store connection of the underlying ObjectContext. + + + + + Represents setting the database initializer for a specific context type + + + + + Represents a parameter to be passed to a method + + + + + Represents a series of parameters to pass to a method + + + + + Adds a new parameter to the collection + Used for unit testing + + + + + Represents the configuration for a series of contexts + + + + + Adds a new context to the collection + Used for unit testing + + + + + Represents the configuration for a specific context type + + + + + Represents setting the default connection factory + + + + + Represents all Entity Framework related configuration + + + + + Handles creating databases either using the core provider or the Migrations pipeline. + + + + + Creates a database using the core provider (i.e. ObjectContext.CreateDatabase) or + by using Code First Migrations to create an empty database + and the perform an automatic migration to the current model. + Migrations is used if Code First is being used and the EF provider is for SQL Server + or SQL Compact. The core is used for non-Code First models and for other providers even + when using Code First. + + + + + A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that + it can be used to query from a database and group together changes that will then be written + back to the store as a unit. + DbContext is conceptually similar to ObjectContext. + + + DbContext is usually used with a derived type that contains properties for + the root entities of the model. These sets are automatically initialized when the + instance of the derived class is created. This behavior can be modified by applying the + attribute to either the entire derived context + class, or to individual properties on the class. + + The Entity Data Model backing the context can be specified in several ways. When using the Code First + approach, the properties on the derived context are used to build a model + by convention. The protected OnModelCreating method can be overridden to tweak this model. More + control over the model used for the Model First approach can be obtained by creating a + explicitly from a and passing this model to one of the DbContext constructors. + + When using the Database First or Model First approach the Entity Data Model can be created using the + Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using + entity connection string or an object. + + The connection to the database (including the name of the database) can be specified in several ways. + If the parameterless DbContext constructor is called from a derived context, then the name of the derived context + is used to find a connection string in the app.config or web.config file. If no connection string is found, then + the name is passed to the DefaultConnectionFactory registered on the class. The connection + factory then uses the context name as the database name in a default connection string. (This default connection + string points to .\SQLEXPRESS on the local machine unless a different DefaultConnectionFactory is registered.) + + Instead of using the derived context name, the connection/database name can also be specified explicitly by + passing the name to one of the DbContext constructors that takes a string. The name can also be passed in + the form "name=myname", in which case the name must be found in the config file or an exception will be thrown. + + Note that the connection found in the app.config or web.config file can be a normal database connection + string (not a special Entity Framework connection string) in which case the DbContext will use Code First. + However, if the connection found in the config file is a special Entity Framework connection string, then the + DbContext will use Database/Model First and the model specified in the connection string will be used. + + An existing or explicitly created DbConnection can also be used instead of the database/connection name. + + A can be applied to a class derived from DbContext to set the + version of conventions used by the context when it creates a model. If no attribute is applied then the + latest version of conventions will be used. + + + + + Interface implemented by objects that can provide an instance. + The class implements this interface to provide access to the underlying + ObjectContext. + + + + + Gets the object context. + + The object context. + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made. The by-convention name is the full name (namespace + class name) + of the derived context class. + See the class remarks for how this is used to create a connection. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made, and initializes it from the given model. + The by-convention name is the full name (namespace + class name) of the derived context class. + See the class remarks for how this is used to create a connection. + + The model that will back this context. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made, and initializes it from the given model. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + The model that will back this context. + + + + Constructs a new context instance using the existing connection to connect to a database. + The connection will not be disposed when the context is disposed. + + An existing connection to use for the new context. + If set to true the connection is disposed when + the context is disposed, otherwise the caller must dispose the connection. + + + + Constructs a new context instance using the existing connection to connect to a database, + and initializes it from the given model. + The connection will not be disposed when the context is disposed. + An existing connection to use for the new context. + The model that will back this context. + If set to true the connection is disposed when + the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance around an existing ObjectContext. + An existing ObjectContext to wrap with the new context. + If set to true the ObjectContext is disposed when + the DbContext is disposed, otherwise the caller must dispose the connection. + + + + + Initializes the internal context, discovers and initializes sets, and initializes from a model if one is provided. + + + + + Discovers DbSets and initializes them. + + + + + This method is called when the model for a derived context has been initialized, but + before the model has been locked down and used to initialize the context. The default + implementation of this method does nothing, but it can be overridden in a derived class + such that the model can be further configured before it is locked down. + + + Typically, this method is called only once when the first instance of a derived context + is created. The model for that context is then cached and is for all further instances of + the context in the app domain. This caching can be disabled by setting the ModelCaching + property on the given ModelBuidler, but note that this can seriously degrade performance. + More control over caching is provided through use of the DbModelBuilder and DbContextFactory + classes directly. + + The builder that defines the model for the context being created. + + + + Internal method used to make the call to the real OnModelCreating method. + + The model builder. + + + + Returns a DbSet instance for access to entities of the given type in the context, + the ObjectStateManager, and the underlying store. + + + See the DbSet class for more details. + + The type entity for which a set should be returned. + A set for the given entity type. + + + + Returns a non-generic DbSet instance for access to entities of the given type in the context, + the ObjectStateManager, and the underlying store. + + The type of entity for which a set should be returned. + A set for the given entity type. + + See the DbSet class for more details. + + + + + Saves all changes made in this context to the underlying database. + + The number of objects written to the underlying database. + Thrown if the context has been disposed. + + + + Validates tracked entities and returns a Collection of containing validation results. + + + Collection of validation results for invalid entities. The collection is never null and must not contain null + values or results for valid entities. + + + 1. This method calls DetectChanges() to determine states of the tracked entities unless + DbContextConfiguration.AutoDetectChangesEnabled is set to false. + 2. By default only Added on Modified entities are validated. The user is able to change this behavior + by overriding ShouldValidateEntity method. + + + + + Extension point allowing the user to override the default behavior of validating only + added and modified entities. + + DbEntityEntry instance that is supposed to be validated. + true to proceed with validation. false otherwise. + + + + Extension point allowing the user to customize validation of an entity or filter out validation results. + Called by . + + DbEntityEntry instance to be validated. + User defined dictionary containing additional info for custom validation. + It will be passed to + and will be exposed as . + This parameter is optional and can be null. + Entity validation result. Possibly null when overridden. + + + + Internal method that calls the protected ValidateEntity method. + + DbEntityEntry instance to be validated. + User defined dictionary containing additional info for custom validation. + It will be passed to + and will be exposed as . + This parameter is optional and can be null. + Entity validation result. Possibly null when ValidateEntity is overridden. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The type of the entity. + The entity. + An entry for the entity. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The entity. + An entry for the entity. + + + + Calls the protected Dispose method. + + + + + Disposes the context. The underlying is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + The connection to the database ( object) is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Creates a Database instance for this context that allows for creation/deletion/existence checks + for the underlying database. + + + + + Returns the Entity Framework ObjectContext that is underlying this context. + + Thrown if the context has been disposed. + + + + Provides access to features of the context that deal with change tracking of entities. + + An object used to access features that deal with change tracking. + + + + Provides access to configuration options for the context. + + An object used to access configuration options. + + + + Provides access to the underlying InternalContext for other parts of the internal design. + + + + + A simple representation of an app.config or web.config file. + + + + + Initializes a new instance of AppConfig based on supplied configuration + + Configuration to load settings from + + + + Initializes a new instance of AppConfig based on supplied connection strings + The default configuration for database initializers and default connection factory will be used + + Connection strings to be used + + + + Initializes a new instance of AppConfig based on the for the AppDomain + + + Use AppConfig.DefaultInstance instead of this constructor + + + + + Appies any database intializers specified in the configuration + + + + + Appies any database intializers specified in the configuration + + + Value indicating if initializers should be re-applied if they have already been applied in this AppDomain + + + + + Gets the specified connection string from the configuration + + Name of the connection string to get + The connection string, or null if there is no connection string with the specified name + + + + Gets the default connection factory based on the configuration + + + + + Gets a singleton instance of configuration based on the for the AppDomain + + + + + Acts as a proxy for that for the most part just passes calls + through to the real object but uses virtual methods/properties such that uses of the object + can be mocked. + + + + + Encapsulates information read from the application config file that specifies a database initializer + and allows that initializer to be dynamically applied. + + + + + Initializes a new instance of the class. + + The key from the entry in the config file. + The value from the enrty in the config file. + + + + Uses the context type and initializer type specified in the config to create an initializer instance + and set it with the DbDbatabase.SetInitializer method. + + + + + Reads all initializers from the application config file and sets them using the Database class. + + + + + Calculates the model hash values used the EdmMetadata table from EF 4.1/4.2. + + + + + Calculates an SHA256 hash of the EDMX from the given code first model. This is the hash stored in + the database in the EdmMetadata table in EF 4.1/4.2. The hash is always calculated using a v2 schema + as was generated by EF 4.1/4.2 and with the entity included in the model. + + + + + Acts as a proxy for that for the most part just passes calls + through to the real object but uses virtual methods/properties such that uses of the object + can be mocked. + + + + + An implementation of that will use Code First Migrations + to update the database to the latest version. + + + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class. + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will + use a specific connection string from the configuration file to connect to + the database to perform the migration. + + The name of the connection string to use for migration. + + + + + + + Helper class that is used to configure a column. + + + + + Creates a new column definition to store Binary data. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the maximum length supported by the database provider should be used. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + Value indicating whether or not this column should be configured as a timestamp. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Boolean data. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Byte data. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store DateTime data. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Decimal data. + + Value indicating whether or not the column allows null values. + The numeric precision of the column. + The numeric scale of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Value indicating whether or not the database will generate values for this column during insert. + The newly constructed column definition. + + + + Creates a new column definition to store Double data. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store GUID data. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Single data. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Short data. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Integer data. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Long data. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store String data. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the maximum length supported by the database provider should be used. + Value indicating whether or not the column supports Unicode content. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store Time data. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store DateTimeOffset data. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store geography data. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Creates a new column definition to store geometry data. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + The newly constructed column definition. + + + + Helper class that is used to further configure a table being created from a CreateTable call on . + + + + + Initializes a new instance of the TableBuilder class. + + The table creation operation to be further configured. + The migration the table is created in. + + + + Specifies a primary key for the table. + + + A lambda expression representing the property to be used as the primary key. + C#: t => t.Id + VB.Net: Function(t) t.Id + + If the primary key is made up of multiple properties then specify an anonymous type including the properties. + C#: t => new { t.Id1, t.Id2 } + VB.Net: Function(t) New With { t.Id1, t.Id2 } + + + The name of the primary key. + If null is supplied, a default name will be generated. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + Itself, so that multiple calls can be chained. + + + + Specifies an index to be created on the table. + + + A lambda expression representing the property to be indexed. + C#: t => t.PropertyOne + VB.Net: Function(t) t.PropertyOne + + If multiple properties are to be indexed then specify an anonymous type including the properties. + C#: t => new { t.PropertyOne, t.PropertyTwo } + VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + + A value indicating whether or not this is a unique index. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + Itself, so that multiple calls can be chained. + + + + Specifies a foreign key constraint to be created on the table. + + Name of the table that the foreign key constraint targets. + + A lambda expression representing the properties of the foreign key. + C#: t => t.PropertyOne + VB.Net: Function(t) t.PropertyOne + + If multiple properties make up the foreign key then specify an anonymous type including the properties. + C#: t => new { t.PropertyOne, t.PropertyTwo } + VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + + A value indicating whether or not cascade delete should be configured on the foreign key constraint. + + + The name of this foreign key constraint. + If no name is supplied, a default name will be calculated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + Itself, so that multiple calls can be chained. + + + + Base class for code-based migrations. + + + + + Operations to be performed during the upgrade process. + + + + + Operations to be performed during the downgrade process. + + + + + Adds an operation to create a new table. + + + The columns in this create table operation. + You do not need to specify this type, it will be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. + i.e. t => new { Id = t.Int(identity: true), Name = t.String() } + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to create a new foreign key constraint. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + + The column this foreign key references. + If no value is supplied the primary key of the principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key relationship. + If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + + The table that contains the foreign key columns. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + + The columns this foreign key references. + If no value is supplied the primary key of the principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key relationship. + If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on its name. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the foreign key constraint in the database. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + The columns this foreign key references. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the columns it targets. + + + The table that contains the foreign key columns. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + The columns this foreign key references. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + + The name of the table to be dropped. + Schema name is optional, if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a table to a new schema. + + + The name of the table to be moved. + Schema name is optional, if no schema is specified then dbo is assumed. + + The schema the table is to be moved to. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a table. To change the schema of a table use MoveTable + + + The name of the table to be renamed. + Schema name is optional, if no schema is specified then dbo is assumed. + + + The new name for the table. + Schema name is optional, if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a column. + + + The name of the table that contains the column to be renamed. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the column to be renamed. + The new name for the column. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to add a column to an existing table. + + + The name of the table to add the column to. + Schema name is optional, if no schema is specified then dbo is assumed. + + + The name of the column to be added. + + + An action that specifies the column to be added. + i.e. c => c.Int(nullable: false, defaultValue: 3) + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + + The name of the table to drop the column from. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the column to be dropped. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter the definition of an existing column. + + + The name of the table the column exists in. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the column to be changed. + + An action that specifies the new definition for the column. + i.e. c => c.String(nullable: false, defaultValue: "none") + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key. + + + The table that contains the primary key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The primary key column. + + The name of the primary key in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key based on multiple columns. + + + The table that contains the primary key columns. + Schema name is optional, if no schema is specified then dbo is assumed. + + The primary key columns. + + The name of the primary key in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that does not have the default name. + + + The table that contains the primary key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the primary key to be dropped. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that was created with the default name. + + + The table that contains the primary key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on a single column. + + + The name of the table to create the index on. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the column to create the index on. + + A value indicating if this is a unique index. + If no value is supplied a non-unique index will be created. + + + The name to use for the index in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on multiple columns. + + + The name of the table to create the index on. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the columns to create the index on. + + A value indicating if this is a unique index. + If no value is supplied a non-unique index will be created. + + + The name to use for the index in the database. + If no value is supplied a unique name will be generated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on its name. + + + The name of the table to drop the index from. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the index to be dropped. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on the columns it targets. + + + The name of the table to drop the index from. + Schema name is optional, if no schema is specified then dbo is assumed. + + The name of the column(s) the index targets. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL command. + + The SQL to be executed. + + A value indicating if the SQL should be executed outside of the + transaction being used for the migration process. + If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Configuration relating to the use of migrations for a given model. + You will typically create a configuration class that derives + from rather than + using this class. + + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Adds a new SQL generator to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + The SQL generator to be used. + + + + Gets the SQL generator that is set to be used with a given database provider. + + Name of the database provider to get the SQL generator for. + The SQL generator that is set for the database provider. + + + + Gets or sets a value indicating if automatic migrations can be used when migration the database. + + + + + Gets or sets a value indicating if data loss is acceptable during automatic migration. + If set to false an exception will be thrown if data loss may occur as part of an automatic migration. + + + + + Gets or sets the derived DbContext representing the model to be migrated. + + + + + Gets or sets the namespace used for code-based migrations. + + + + + Gets or sets the sub-directory that code-based migrations are stored in. + + + + + Gets or sets the code generator to be used when scaffolding migrations. + + + + + Gets or sets the assembly containing code-based migrations. + + + + + Gets or sets a value to override the connection of the database to be migrated. + + + + + Gets or sets the timeout value used for the individual commands within a + migration. A null value indicates that the default value of the underlying + provider will be used. + + + + + Configuration relating to the use of migrations for a given model. + + The context representing the model that this configuration applies to. + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Runs after upgrading to the latest migration to allow seed data to be updated. + + Context to be used for updating seed data. + + + + DbMigrator is used to apply existing migrations to a database. + DbMigrator can be used to upgrade and downgrade to any given migration. + To scaffold migrations based on changes to your model use + + + + + Base class for decorators that wrap the core + + + + + Initializes a new instance of the MigratorBase class. + + The migrator that this decorator is wrapping. + + + + Gets a list of the pending migrations that have not been applied to the database. + + List of migration Ids + + + + Updates the target database to the latest migration. + + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + Gets a list of the migrations that are defined in the assembly. + + List of migration Ids + + + + Gets a list of the migrations that have been applied to the database. + + List of migration Ids + + + + Gets the configuration being used for the migrations process. + + + + + Migration Id representing the state of the database before any migrations are applied. + + + + + Initializes a new instance of the DbMigrator class. + + Configuration to be used for the migration process. + + + + Gets all migrations that are defined in the configured migrations assembly. + + + + + Gets all migrations that have been applied to the target database. + + + + + Gets all migrations that are defined in the assembly but haven't been applied to the target database. + + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + Gets the configuration that is being used for the migration process. + + + + + A set of extension methods for + + + + + Adds or updates entities by key when SaveChanges is called. Equivalent to an "upsert" operation + from database terminology. + This method can useful when seeding data using Migrations. + + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Adds or updates entities by a custom identification expression when SaveChanges is called. + Equivalent to an "upsert" operation from database terminology. + This method can useful when seeding data using Migrations. + + + An expression specifying the properties that should be used when determining + whether an Add or Update operation should be performed. + + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Generates C# code for a code-based migration. + + + + + Base class for providers that generate code for code-based migrations. + + + + + Generates the code that should be added to the users project. + + Unique identifier of the migration. + Operations to be performed by the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Gets the namespaces that must be output as "using" or "Imports" directives to handle + the code generated by the given operations. + + The operations for which code is going to be generated. + An ordered list of namespace names. + + + + Gets the default namespaces that must be output as "using" or "Imports" directives for + any code generated. + + A value indicating if this class is being generated for a code-behind file. + An ordered list of namespace names. + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which using directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + Scaffolds code-based migrations to apply pending model changes to the database. + + + + + Initializes a new instance of the MigrationScaffolder class. + + Configuration to be used for scaffolding. + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + The scaffolded migration. + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The scaffolded migration. + + + + Gets or sets the namespace used in the migration's generated code. + + By default, this is the same as MigrationsNamespace on the migrations + configuration object passed into the constructor. For VB.NET projects, this + will need to be updated to take into account the project's root namespace. + + + + + Represents a code-based migration that has been scaffolded and is ready to be written to a file. + + + + + Gets or sets the unique identifier for this migration. + Typically used for the file name of the generated code. + + + + + Gets or sets the scaffolded migration code that the user can edit. + + + + + Gets or sets the scaffolded migration code that should be stored in a code behind file. + + + + + Gets or sets the programming language used for this migration. + Typically used for the file extension of the generated code. + + + + + Gets or sets the subdirectory in the user's project that this migration should be saved in. + + + + + Gets a dictionary of string resources to add to the migration resource file. + + + + + Represents an exception that occurred while running an operation in another AppDomain in the . + + + + + Initializes a new instance of the ToolingException class. + + Error that explains the reason for the exception. + The type of the exception that was thrown. + The stack trace of the exception that was thrown. + + + + + + + + + + Gets the type of the exception that was thrown. + + + + + Gets the stack trace of the exception that was thrown. + + + + + Helper class that is used by design time tools to run migrations related + commands that need to interact with an application that is being edited + in Visual Studio. + + Because the application is being edited the assemblies need to + be loaded in a separate AppDomain to ensure the latest version + is always loaded. + + The App/Web.config file from the startup project is also copied + to ensure that any configuration is applied. + + + + + Initializes a new instance of the ToolingFacade class. + + + The name of the assembly that contains the migrations configuration to be used. + + + The namespace qualified name of migrations configuration to be used. + + + The working directory containing the compiled assemblies. + + + The path of the config file from the startup project. + + + The path of the application data directory from the startup project. + Typically the App_Data directory for web applications or the working directory for executables. + + + The connection to the database to be migrated. + If null is supplied, the default connection for the context will be used. + + + + + Releases all unmanaged resources used by the facade. + + + + + Gets the fully qualified name of all types deriving from . + + All context types found. + + + + Gets the fully qualified name of a type deriving from . + + The name of the context type. If null, the single context type found in the assembly will be returned. + The context type found. + + + + Gets a list of all migrations that have been applied to the database. + + Ids of applied migrations. + + + + Gets a list of all migrations that have not been applied to the database. + + Ids of pending migrations. + + + + Updates the database to the specified migration. + + + The Id of the migration to migrate to. + If null is supplied, the database will be updated to the latest migration. + + Value indicating if data loss during automatic migration is acceptable. + + + + Generates a SQL script to migrate between two migrations. + + + The migration to update from. + If null is supplied, a script to update the current database will be produced. + + + The migration to update to. + If null is supplied, a script to update to the latest migration will be produced. + + Value indicating if data loss during automatic migration is acceptable. + The generated SQL script. + + + + Scaffolds a code-based migration to apply any pending model changes. + + The name for the generated migration. + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + The scaffolded migration. + + + + + + + Releases all resources used by the facade. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Gets or sets an action to be run to log information. + + + + + Gets or sets an action to be run to log warnings. + + + + + Gets or sets an action to be run to log verbose information. + + + + + Base class for loggers that can be used for the migrations process. + + + + + Logs an informational message. + + The message to be logged. + + + + Logs a warning that the user should be made aware of. + + The message to be logged. + + + + Logs some additional information that should only be presented to the user if they request verbose output. + + The message to be logged. + + + + Generates VB.Net code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which Imports directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + This class is used by Code First Migrations to read and write migration history + from the database. It is not intended to be used by other code and is only public + so that it can be accessed by EF when running under partial trust. It may be + changed or removed in the future. + + + + + Gets or sets the Id of the migration this row represents. + + + + + Gets or sets the date and time that this migrations history entry was created. + + + + + Gets or sets the state of the model after this migration was applied. + + + + + Gets or sets the version of Entity Framework that created this entry. + + + + + This is a version of the HistoryContext that still includes CreatedOn in its model. + It is used when figuring out whether or not the CreatedOn column exists and so should + be dropped. + + + + + Represents an error that occurs when an automatic migration would result in data loss. + + + + + Represents errors that occur inside the Code First Migrations pipeline. + + + + + Initializes a new instance of the MigrationsException class. + + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the MigrationsException class with serialized data. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Initializes a new instance of the AutomaticDataLossException class. + + The message that describes the error. + + + + Represents an error that occurs when there are pending model changes after applying the last migration and automatic migration is disabled. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + The message that describes the error. + + + + Provides additional metadata about a code-based migration. + + + + + Gets the unique identifier for the migration. + + + + + Gets the state of the model before this migration is run. + + + + + Gets the state of the model after this migration is run. + + + + + Decorator to provide logging during migrations operations.. + + + + + Initializes a new instance of the MigratorLoggingDecorator class. + + The migrator that this decorator is wrapping. + The logger to write messages to. + + + + Decorator to produce a SQL script instead of applying changes to the database. + Using this decorator to wrap will prevent + from applying any changes to the target database. + + + + + Initializes a new instance of the MigratorScriptingDecorator class. + + The migrator that this decorator is wrapping. + + + + + Represents a column being added to a table. + + + + + Represents an operation to modify a database schema. + + + + + Initializes a new instance of the MigrationOperation class. + + + + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets additional arguments that may be processed by providers. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. + + + + + Initializes a new instance of the AddColumnOperation class. + + The name of the table the column should be added to. + Details of the column being added. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table the column should be added to. + + + + + Gets the details of the column being added. + + + + + Gets an operation that represents dropping the added column. + + + + + + + + Represents a foreign key constraint being added to a table. + + + + + Base class for changes that affect foreign key constraints. + + + + + Initializes a new instance of the ForeignKeyOperation class. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the name of the table that the foreign key constraint targets. + + + + + Gets or sets the name of the table that the foreign key columns exist in. + + + + + The names of the foreign key column(s). + + + + + Gets a value indicating if a specific name has been supplied for this foreign key constraint. + + + + + Gets or sets the name of this foreign key constraint. + If no name is supplied, a default name will be calculated. + + + + + Initializes a new instance of the AddForeignKeyOperation class. + The PrincipalTable, PrincipalColumns, DependentTable and DependentColumns properties should also be populated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets an operation to create an index on the foreign key column(s). + + An operation to add the index. + + + + The names of the column(s) that the foreign key constraint should target. + + + + + Gets or sets a value indicating if cascade delete should be configured on the foreign key constraint. + + + + + Gets an operation to drop the foreign key constraint. + + + + + + + + Represents adding a primary key to a table. + + + + + Common base class to represent operations affecting primary keys. + + + + + Initializes a new instance of the PrimaryKeyOperation class. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the name of the table that contains the primary key. + + + + + Gets the column(s) that make up the primary key. + + + + + Gets a value indicating if a specific name has been supplied for this primary key. + + + + + Gets or sets the name of this primary key. + If no name is supplied, a default name will be calculated. + + + + + + + + Initializes a new instance of the AddPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets an operation to drop the primary key. + + + + + Represents altering an existing column. + + + + + Initializes a new instance of the AlterColumnOperation class. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Initializes a new instance of the AlterColumnOperation class. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + An operation to revert this alteration of the column. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table that the column belongs to. + + + + + Gets the new definition for the column. + + + + + Gets an operation that represents reverting the alteration. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents information about a column. + + + + + Initializes a new instance of the class. + + The data type for this column. + + + + Initializes a new instance of the class. + + The data type for this column. + + Additional details about the data type. + This includes details such as maximum length, nullability etc. + + + + + Determines if this column is a narrower data type than another column. + Used to determine if altering the supplied column definition to this definition will result in data loss. + + The column to compare to. + Details of the database provider being used. + True if this column is of a narrower data type. + + + + Gets the data type for this column. + + + + + Gets the CLR type corresponding to the database type of this column. + + + + + Gets the default value for the CLR type corresponding to the database type of this column. + + + + + Gets additional details about the data type of this column. + This includes details such as maximum length, nullability etc. + + + + + Gets or sets the name of the column. + + + + + Gets or sets a provider specific data type to use for this column. + + + + + Gets or sets a value indicating if this column can store null values. + + + + + Gets or sets a value indicating if values for this column will be generated by the database using the identity pattern. + + + + + Gets or sets the maximum length for this column. + Only valid for array data types. + + + + + Gets or sets the precision for this column. + Only valid for decimal data types. + + + + + Gets or sets the scale for this column. + Only valid for decimal data types. + + + + + Gets or sets a constant value to use as the default value for this column. + + + + + Gets or sets a SQL expression used as the default value for this column. + + + + + Gets or sets a value indicating if this column is fixed length. + Only valid for array data types. + + + + + Gets or sets a value indicating if this column supports Unicode characters. + Only valid for textual data types. + + + + + Gets or sets a value indicating if this column should be configured as a timestamp. + + + + + Represents creating a database index. + + + + + Common base class for operations affecting indexes. + + + + + Initializes a new instance of the IndexOperation class. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the table the index belongs to. + + + + + Gets or sets the columns that are indexed. + + + + + Gets a value indicating if a specific name has been supplied for this index. + + + + + Gets or sets the name of this index. + If no name is supplied, a default name will be calculated. + + + + + Initializes a new instance of the CreateIndexOperation class. + The Table and Columns properties should also be populated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets a value indicating if this is a unique index. + + + + + Gets an operation to drop this index. + + + + + + + + Represents creating a table. + + + + + Initializes a new instance of the CreateTableOperation class. + + Name of the table to be created. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table to be created. + + + + + Gets the columns to be included in the new table. + + + + + Gets or sets the primary key for the new table. + + + + + Gets an operation to drop the table. + + + + + + + + Represents deleting a new record from the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + + + + Common base class for operations that affect the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + + + + Initializes a new instance of the HistoryOperation class. + + Name of the migrations history table. + Name of the migration being affected. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the migrations history table. + + + + + Gets the name of the migration being affected. + + + + + + + + Initializes a new instance of the DeleteHistoryOperation class. + + Name of the migrations history table. + Id of the migration record to be deleted. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Represents a column being dropped from a table. + + + + + Initializes a new instance of the DropColumnOperation class. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Initializes a new instance of the DropColumnOperation class. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + The operation that represents reverting the drop operation. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table the column should be dropped from. + + + + + Gets the name of the column to be dropped. + + + + + Gets an operation that represents reverting dropping the column. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents a foreign key constraint being dropped from a table. + + + + + Initializes a new instance of the DropForeignKeyOperation class. + The PrincipalTable, DependentTable and DependentColumns properties should also be populated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Initializes a new instance of the DropForeignKeyOperation class. + + The operation that represents reverting dropping the foreign key constraint. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets an operation to drop the associated index on the foreign key column(s). + + An operation to drop the index. + + + + Gets an operation that represents reverting dropping the foreign key constraint. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping an existing index. + + + + + Initializes a new instance of the DropIndexOperation class. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Initializes a new instance of the DropIndexOperation class. + + The operation that represents reverting dropping the index. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets an operation that represents reverting dropping the index. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping a primary key from a table. + + + + + Initializes a new instance of the DropPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets an operation to add the primary key. + + + + + Represents dropping an existing table. + + + + + Initializes a new instance of the DropTableOperation class. + + The name of the table to be dropped. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Initializes a new instance of the DropTableOperation class. + + The name of the table to be dropped. + An operation that represents reverting dropping the table. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table to be dropped. + + + + + Gets an operation that represents reverting dropping the table. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents inserting a new record into the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + + + + Initializes a new instance of the InsertHistoryOperation class. + + Name of the migrations history table. + Id of the migration record to be inserted. + Value to be stored in the model column. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the value to store in the history table representing the target model of the migration. + + + + + Gets the value to store in the history table indicating the version of Entity Framework used to produce this migration. + + + + + + + + Represents moving a table from one schema to another. + + + + + Initializes a new instance of the MoveTableOperation class. + + Name of the table to be moved. + Name of the schema to move the table to. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table to be moved. + + + + + Gets the name of the schema to move the table to. + + + + + Gets an operation that moves the table back to its original schema. + + + + + + + + Represents renaming an existing column. + + + + + Initializes a new instance of the RenameColumnOperation class. + + Name of the table the column belongs to. + Name of the column to be renamed. + New name for the column. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table the column belongs to. + + + + + Gets the name of the column to be renamed. + + + + + Gets the new name for the column. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming an existing table. + + + + + Initializes a new instance of the RenameTableOperation class. + + Name of the table to be renamed. + New name for the table. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table to be renamed. + + + + + Gets the new name for the table. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents a provider specific SQL statement to be executed directly against the target database. + + + + + Initializes a new instance of the SqlOperation class. + + The SQL to be executed. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the SQL to be executed. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + + + + Common base class for providers that convert provider agnostic migration + operations into database provider specific SQL commands. + + + + + Converts a set of migration operations into database provider specific SQL. + + The operations to be converted. + Token representing the version of the database being targeted. + A list of SQL statements to be executed to perform the migration operations. + + + + Represents a migration operation that has been translated into a SQL statement. + + + + + Gets or sets the SQL to be executed to perform this migration operation. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + Provider to convert provider agnostic migration operations into SQL commands + that can be run against Microsoft SQL Server Compact Edition. + + + + + Provider to convert provider agnostic migration operations into SQL commands + that can be run against a Microsoft SQL Server database. + + + + + Converts a set of migration operations into Microsoft SQL Server specific SQL. + + The operations to be converted. + Token representing the version of SQL Server being targeted (i.e. "2005", "2008"). + A list of SQL statements to be executed to perform the migration operations. + + + + Creates an empty connection for the current provider. + Allows derived providers to use connection other than . + + + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL to mark a table as a system table. + Generated SQL should be added using the Statement method. + + The table to mark as a system table. + + + + Generates SQL to create a database schema. + Generated SQL should be added using the Statement method. + + The name of the schema to create. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL to specify a constant byte[] default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant bool default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTime default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTimeOffset default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant Guid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant string default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant TimeSpan default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geogrpahy default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geometry default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify the data type of a column. + This method just generates the actual type, not the SQL to create the column. + + The definition of the column. + SQL representing the data type. + + + + Generates a quoted name. The supplied name may or may not contain the schema. + + The name to be quoted. + The quoted name. + + + + Quotes an identifier for SQL Server. + + The identifier to be quoted. + The quoted identifier. + + + + Adds a new Statement to be executed against the database. + + The statement to be executed. + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + Gets a new that can be used to build SQL. + + This is just a helper method to create a writer. Writing to the writer will + not cause SQL to be registered for execution. You must pass the generated + SQL to the Statement method. + + An empty text writer to use for SQL generation. + + + + Adds a new Statement to be executed against the database. + + The writer containing the SQL to be executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Utility class to prep the user's config file to run in an AppDomain + + + + + Updates a config file by adding binding redirects for EntityFramework.dll. + This ensures that the user's code can be ran in an AppDomain and the exact + same version of the assembly will be used for both domains. + + That path of the user's config file. Can also be null or a path to an non-existent file. + The path of the updated config file. It is the caller's responsibility to delete this. + + + + The same as but works in partial trust. + + + + + Specifies the default tab string. This field is constant. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and default tab string. + + The to use for output. + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and tab string. + + The to use for output. + The tab string to use for indentation. + + + + Closes the document being written to. + + + + + Flushes the stream. + + + + + Outputs the tab string once for each level of indentation according to the property. + + + + + Writes the specified string to the text stream. + + The string to write. + + + + Writes the text representation of a Boolean value to the text stream. + + The Boolean value to write. + + + + Writes a character to the text stream. + + The character to write. + + + + Writes a character array to the text stream. + + The character array to write. + + + + Writes a subarray of characters to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double to the text stream. + + The double to write. + + + + Writes the text representation of a Single to the text stream. + + The single to write. + + + + Writes the text representation of an integer to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object to the text stream. + + The object to write. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the specified string to a line without tabs. + + The string to write. + + + + Writes the specified string, followed by a line terminator, to the text stream. + + The string to write. + + + + Writes a line terminator. + + + + + Writes the text representation of a Boolean, followed by a line terminator, to the text stream. + + The Boolean to write. + + + + Writes a character, followed by a line terminator, to the text stream. + + The character to write. + + + + Writes a character array, followed by a line terminator, to the text stream. + + The character array to write. + + + + Writes a subarray of characters, followed by a line terminator, to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double, followed by a line terminator, to the text stream. + + The double to write. + + + + Writes the text representation of a Single, followed by a line terminator, to the text stream. + + The single to write. + + + + Writes the text representation of an integer, followed by a line terminator, to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer, followed by a line terminator, to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object, followed by a line terminator, to the text stream. + + The object to write. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the text representation of a UInt32, followed by a line terminator, to the text stream. + + A UInt32 to output. + + + + Gets the encoding for the text writer to use. + + + An that indicates the encoding for the text writer to use. + + + + + Gets or sets the new line character to use. + + + The new line character to use. + + + + + Gets or sets the number of spaces to indent. + + + The number of spaces to indent. + + + + + Gets the to use. + + + The to use. + + + + + Used for generating values that are always in sequential + order for the calling thread. + + + + + Returns the value of unless this value would be the same as the + last value returned by this thread calling this method, in which case the thread pushes the value + a little bit into the future. The comparison is in terms of the form used to store migration ID + in the database--i.e. to the 1/10 second. + + + There should never be any pushing to the future involved for normal use of migrations, but when + this method is called in rapid succession while testing or otherwise calling the DbMigrator APIs + there may be occasional sleeping. + + + + + Same as UtcNow method bur returns the time in the timestamp format used in migration IDs. + + + + + Convention to apply column ordering specified via + or the API. This convention throws if a duplicate configured column order + is detected. + + + + + Convention to apply column ordering specified via + or the API. + + + + + Identifies conventions that can be removed from a instance. + + /// + Note that implementations of this interface must be immutable. + + + + + Strongly-typed and parameterized string resources. + + + + + A string like "Applying automatic migration: {0}." + + + + + A string like "Reverting automatic migration: {0}." + + + + + A string like "Applying code-based migration: {0}." + + + + + A string like "Reverting code-based migration: {0}." + + + + + A string like "Applying code-based migrations: [{1}]." + + + + + A string like "Reverting migrations: [{1}]." + + + + + A string like "Target database is already at version {0}." + + + + + A string like "Target database is: {0}." + + + + + A string like "'{1}' (DataSource: {0}, Provider: {2}, Origin: {3})" + + + + + A string like "The specified target migration '{0}' does not exist. Ensure that target migration refers to an existing migration id." + + + + + A string like "The Foreign Key on table '{0}' with columns '{1}' could not be created because the principal key columns could not be determined. Use the AddForeignKey fluent API to fully specify the Foreign Key." + + + + + A string like "'{0}' is not a valid target migration. When targeting a previously applied automatic migration, use the full migration id including timestamp." + + + + + A string like "'{0}' is not a valid migration. Code-based migrations must be used for both source and target when scripting the upgrade between them." + + + + + A string like "The target context '{0}' is not constructible. Add a default constructor or provide an implementation of IDbContextFactory." + + + + + A string like "The specified migration name '{0}' is ambiguous. Specify the full migration id including timestamp instead." + + + + + A string like "The migrations configuration type '{0}' was not be found in the assembly '{1}'." + + + + + A string like "More than one migrations configuration type '{0}' was found in the assembly '{1}'. Specify the fully qualified name of the one to use." + + + + + A string like "No migrations configuration type was found in the assembly '{0}'. (In Visual Studio you can use the Enable-Migrations command from Package Manager Console to add a migrations configuration)." + + + + + A string like "More than one migrations configuration type was found in the assembly '{0}'. Specify the name of the one to use." + + + + + A string like "The type '{0}' is not a migrations configuration type." + + + + + A string like "The migrations configuration type '{0}' must have a public default constructor." + + + + + A string like "The migrations configuration type '{0}' must not be abstract." + + + + + A string like "The migrations configuration type '{0}' must not be generic." + + + + + A string like "In VB.NET projects, the migrations namespace '{0}' must be under the root namespace '{1}'. Update the migrations project's root namespace to allow classes under the migrations namespace to be added." + + + + + + A string like "No MigrationSqlGenerator found for provider '{0}'. Use the SetSqlGenerator method in the target migrations configuration class to register additional SQL generators." + + + + + A string like "Could not load assembly '{0}'. (If you are using Code First Migrations inside Visual Studio this can happen if the startUp project for your solution does not reference the project that contains your migrations. You can either change the startUp project for your solution or use the -StartUpProjectName parameter.)" + + + + + A string like "No context type was found in the assembly '{0}'." + + + + + A string like "More than one context type was found in the assembly '{0}'." + + + + + A string like "To enable migrations for {0}, use Enable-Migrations -ContextTypeName {0}." + + + + + A string like "The context type '{0}' was not found in the assembly '{1}'." + + + + + A string like "More than one context type '{0}' was found in the assembly '{1}'. Specify the fully qualified name of the context." + + + + + A string like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + A string like "The argument property '{0}' cannot be null." + + + + + A string like "The precondition '{0}' failed. {1}" + + + + + A string like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type." + + + + + A string like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type." + + + + + A string like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + A string like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + A string like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property." + + + + + A string like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property." + + + + + A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'." + + + + + A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'." + + + + + A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New With {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New With {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + + A string like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}" + + + + + A string like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}" + + + + + A string like "{0} = {1} conflicts with {2} = {3}" + + + + + A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject." + + + + + A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject." + + + + + A string like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys." + + + + + A string like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities." + + + + + A string like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name." + + + + + A string like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API." + + + + + A string like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property." + + + + + A string like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property." + + + + + A string like "\t{0}: {1}: {2}" + + + + + A string like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'." + + + + + A string like "The {0} value '{1}' already exists in the user-defined dictionary." + + + + + A string like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call." + + + + + A string like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name." + + + + + A string like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax." + + + + + A string like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation." + + + + + A string like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string." + + + + + A string like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set." + + + + + A string like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model." + + + + + A string like "Unable to determine the provider name for connection of type '{0}'." + + + + + A string like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length." + + + + + A string like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length." + + + + + A string like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method." + + + + + A string like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once." + + + + + A string like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once." + + + + + A string like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model or it is of a type not supported by the DbModelBuilderVersion being used." + + + + + A string like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them." + + + + + A string like "You cannot use Ignore method on the property '{0}' on type '{1}' because this type inherits from the type '{2}' where this property is mapped. To exclude this property from your model, use NotMappedAttribute or Ignore method on the base type." + + + + + A string like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types." + + + + + A string like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified." + + + + + A string like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns." + + + + + A string like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations." + + + + + A string like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. " + + + + + A string like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. " + + + + + A string like "The table '{0}' was configured but is not used in any mappings. Verify the mapping configuration for '{0}' is correct." + + + + + A string like "The configured column orders for the table '{0}' contains duplicates. Ensure the specified column order values are distinct." + + + + + A string like "The enum or spatial property '{1}' on type '{0}' cannot be mapped. Use DbModelBuilderVersion 'V5_0' or later to map enum or spatial properties." + + + + + A string like "Multiple potential primary key properties named '{0}' but differing only by case were found on entity type '{1}'. Configure the primary key explicitly using the HasKey fluent API or the KeyAttribute data annotation." + + + + + A string like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor." + + + + + A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor." + + + + + + A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state." + + + + + A string like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model." + + + + + + A string like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed." + + + + + A string like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created." + + + + + + + A string like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method." + + + + + A string like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method." + + + + + A string like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property." + + + + + A string like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property."" + + + + + A string like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties."" + + + + + A string like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'." + + + + + A string like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead." + + + + + A string like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'." + + + + + A string like "The expression passed to method {0} must represent a property defined on the type '{1}'." + + + + + A string like "{0} cannot be used for entities in the {1} state." + + + + + A string like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'." + + + + + A string like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property." + + + + + A string like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'." + + + + + A string like "The '{0}' property does not exist or is not mapped for the type '{1}'." + + + + + A string like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'." + + + + + A string like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'." + + + + + A string like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties." + + + + + A string like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties." + + + + + A string like "Cannot set the value of the nested property '{0}' because value of the complex property '{1}' to which it belongs is null." + + + + + A string like "Cannot set the original value of the nested property '{0}' because the original value of the complex property '{1}' to which it belongs is null." + + + + + A string like "The model backing the '{0}' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269)." + + + + + A string like "Database '{0}' cannot be created because it already exists." + + + + + + + A string like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. See inner exception for details." + + + + + A string like "Configuration for DbContext type '{0}' is specified multiple times in the application configuration. Each context can only be configured once." + + + + + A string like "Failed to set Database.DefaultConnectionFactory to an instance of the '{0}' type as specified in the application configuration. See inner exception for details." + + + + + A string like "The type '{0}' could not be found. The type name must be an assembly-qualified name." + + + + + A string like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute."" + + + + + A string like "The entity found was of type {0} when an entity of type {1} was requested." + + + + + A string like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types." + + + + + A string like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute." + + + + + A string like "The entity type {0} is not part of the model for the current context." + + + + + A string like "No connection string named '{0}' could be found in the application config file." + + + + + A string like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor." + + + + + A string like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'." + + + + + A string like "The context type '{0}' must have a public constructor taking an EntityConnection." + + + + + A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.IsValid. See the inner exception for details." + + + + + A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.Validate. See the inner exception for details." + + + + + A string like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file." + + + + + A string like "The context factory type '{0}' must have a public default constructor." + + + + + A string like "The '{0}' property of EdmPrimitiveType is fixed and cannot be set." + + + + + A string like "The namespace '{0}' is a system namespace and cannot be used by other schemas. Choose another namespace name." + + + + + A string like "Role '{0}' in AssociationSets '{1}' and '{2}' refers to the same EntitySet '{3}' in EntityContainer '{4}'. Make sure that if two or more AssociationSets refer to the same AssociationType, the ends do not refer to the same EntitySet." + + + + + A string like "The referenced EntitySet '{0}' for End '{1}' could not be found in the containing EntityContainer." + + + + + A string like "Type '{0}' is derived from type '{1}' that is the type for EntitySet '{2}'. Type '{0}' defines new concurrency requirements that are not allowed for subtypes of base EntitySet types." + + + + + A string like "EntitySet '{0}' is based on type '{1}' that has no keys defined." + + + + + A string like "The end name '{0}' is already defined." + + + + + A string like "The key specified in EntityType '{0}' is not valid. Property '{1}' is referenced more than once in the Key element." + + + + + A string like "Property '{0}' has a CollectionKind specified but is not a collection property." + + + + + A string like "Property '{0}' has a CollectionKind specified. CollectionKind is only supported in version 1.1 EDM models." + + + + + A string like "ComplexType '{0}' is marked as abstract. Abstract ComplexTypes are only supported in version 1.1 EDM models." + + + + + A string like "ComplexType '{0}' has a BaseType specified. ComplexType inheritance is only supported in version 1.1 EDM models." + + + + + A string like "Key part '{0}' for type '{1}' is not valid. All parts of the key must be non-nullable." + + + + + A string like "The property '{0}' in EntityType '{1}' is not valid. All properties that are part of the EntityKey must be of PrimitiveType." + + + + + A string like "Key usage is not valid. The {0} class cannot define keys because one of its base classes ('{1}') defines keys." + + + + + A string like "EntityType '{0}' has no key defined. Define the key for this EntityType." + + + + + A string like "NavigationProperty is not valid. Role '{0}' or Role '{1}' is not defined in Relationship '{2}'." + + + + + A string like "End '{0}' on relationship '{1}' cannot have an operation specified because its multiplicity is '*'. Operations cannot be specified on ends with multiplicity '*'." + + + + + A string like "Each Name and PluralName in a relationship must be unique. '{0}' is already defined." + + + + + A string like "In relationship '{0}', the Principal and Dependent Role of the referential constraint refer to the same Role in the relationship type." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Valid values for multiplicity for the Principal Role are '0..1' or '1'." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because all the properties in the Dependent Role are nullable, multiplicity of the Principal Role must be '0..1'." + + + + + A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because at least one of the properties in the Dependent Role is non-nullable, multiplicity of the Principal Role must be '1'." + + + + + A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because all of the properties in the Dependent Role are non-nullable, multiplicity of the Principal Role must be '1'." + + + + + A string like "Properties referred by the Dependent Role '{0}' must be a subset of the key of the EntityType '{1}' referred to by the Dependent Role in the referential constraint for relationship '{2}'." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role refers to the key properties, the upper bound of the multiplicity of the Dependent Role must be '1'." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be '*'." + + + + + A string like "The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property '{0}' on entity '{1}' does not match the type of property '{2}' on entity '{3}' in the referential constraint '{4}'." + + + + + A string like "There is no property with name '{0}' defined in the type referred to by Role '{1}'." + + + + + A string like "A nullable ComplexType is not supported. Property '{0}' must not allow nulls." + + + + + A string like "A property cannot be of type '{0}'. The property type must be a ComplexType or a PrimitiveType." + + + + + A string like "Each member name in an EntityContainer must be unique. A member with name '{0}' is already defined." + + + + + A string like "Each type name in a schema must be unique. Type name '{0}' is already defined." + + + + + A string like "Name '{0}' cannot be used in type '{1}'. Member names cannot be the same as their enclosing type." + + + + + A string like "Each property name in a type must be unique. Property name '{0}' is already defined." + + + + + A string like "A cycle was detected in the type hierarchy of '{0}'." + + + + + A string like "A property cannot be of type '{0}'. The property type must be a ComplexType, a PrimitiveType, or a CollectionType." + + + + + A string like "A property cannot be of type {0}. The property type must be a ComplexType, a PrimitiveType or an EnumType." + + + + + A string like "The specified name must not be longer than 480 characters: '{0}'." + + + + + A string like "The specified name is not allowed: '{0}'." + + + + + A string like "The field {0} must be a string or array type with a maximum length of '{1}'." + + + + + A string like "The field {0} must be a string or array type with a minimum length of '{1}'." + + + + + A string like "No connection string named '{0}' could be found in the application config file." + + + + + A string like "AutomaticMigration" + + + + + A string like "BootstrapMigration" + + + + + A string like "InitialCreate" + + + + + A string like "Automatic migration was not applied because it would result in data loss." + + + + + A string like "[Inserting migration history record]" + + + + + A string like "[Deleting migration history record]" + + + + + A string like "[Updating EdmMetadata model hash]" + + + + + A string like "Running Seed method." + + + + + A string like "No pending code-based migrations." + + + + + A string like "Explicit" + + + + + A string like "Upgrading history table." + + + + + A string like "Cannot scaffold the next migration because the target database was created with a version of Code First earlier than EF 4.3 and does not contain the migrations history table. To start using migrations against this database, ensure the current model is compatible with the target database and execute the migrations Update process. (In Visual Studio you can use the Update-Database command from Package Manager Console to execute the migrations Update process)." + + + + + A string like "Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration." + + + + + A string like "Scripting the downgrade between two specified migrations is not supported." + + + + + A string like "Direct column renaming is not supported by SQL Server Compact. To rename a column in SQL Server Compact, you will need to recreate it." + + + + + A string like "One or more validation errors were detected during model generation:" + + + + + A string like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported." + + + + + A string like "Connection to the database failed. The connection string is configured with an invalid LocalDB server name. This may have been set in 'global.asax' by a pre-release version of MVC4. The default connection factory is now set in web.config so the line in 'global.asax' starting with 'Database.DefaultConnectionFactory = ' should be removed. See http://go.microsoft.com/fwlink/?LinkId=243166 for details." + + + + + A string like "An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct." + + + + + A string like "Setting IsModified to false for a modified property is not supported." + + + + + A string like "An error occurred while saving entities that do not expose foreign key properties for their relationships. The EntityEntries property will return null because a single entity cannot be identified as the source of the exception. Handling of exceptions while saving can be made easier by exposing foreign key properties in your entity types. See the InnerException for details." + + + + + A string like "The set of property value names is read-only." + + + + + A string like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type." + + + + + A string like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility." + + + + + A string like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + A string like "Model compatibility cannot be checked because the database does not contain model metadata. Model compatibility can only be checked for databases created using Code First or Code First Migrations." + + + + + A string like "The context cannot be used while the model is being created." + + + + + A string like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)." + + + + + A string like "The operation cannot be completed because the DbContext has been disposed." + + + + + A string like "The provider factory returned a null connection." + + + + + A string like "The DbConnectionFactory instance returned a null connection." + + + + + A string like "The number of primary key values passed must match number of primary key values defined on the entity." + + + + + A string like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details." + + + + + A string like "Multiple entities were found in the Added state that match the given primary key values." + + + + + A string like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()." + + + + + A string like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties." + + + + + A string like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection." + + + + + A string like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used." + + + + + A string like "Validation failed for one or more entities. See 'EntityValidationErrors' property for more details." + + + + + A string like "An exception occurred while initializing the database. See the InnerException for details." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Code generated using the T4 templates for Database First and Model First development may not work correctly if used in Code First mode. To continue using Database First or Model First ensure that the Entity Framework connection string is specified in the config file of executing application. To use these classes, that were generated from Database First or Model First, with Code First add any additional configuration using attributes or the DbModelBuilder API and then remove the code that throws this exception." + + + + + A string like "The generic 'Set' method cannot be called with a proxy type. Either use the actual entity type or call the non-generic 'Set' method." + + + + + A string like "NavigationProperty is not valid. The FromRole and ToRole are the same." + + + + + A string like "OnDelete can be specified on only one End of an EdmAssociation." + + + + + A string like "The number of properties in the Dependent and Principal Roles in a relationship constraint must be identical." + + + + + A string like "The name is missing or not valid." + + + + + A string like "AssociationEnd must not be null." + + + + + A string like "DependentEnd must not be null." + + + + + A string like "DependentProperties must not be empty." + + + + + A string like "Association must not be null." + + + + + A string like "ResultEnd must not be null." + + + + + A string like "EntityType must not be null." + + + + + A string like "ElementType must not be null." + + + + + A string like "ElementType must not be null." + + + + + A string like "SourceSet must not be null." + + + + + A string like "TargetSet must not be null." + + + + + A string like "The type is not a valid EdmTypeReference." + + + + + A string like "Serializer can only serialize an EdmModel that has one EdmNamespace and one EdmEntityContainer." + + + + + A string like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "MinLengthAttribute must have a Length value that is zero or greater." + + + + + A string like "The connection can not be overridden because this context was created from an existing ObjectContext." + + + + + A string like "Can not override the connection for this context with a standard DbConnection because the original connection was an EntityConnection." + + + + + A string like "Can not override the connection for this context with an EntityConnection because the original connection was a standard DbConnection." + + + + + Strongly-typed and parameterized exception factory. + + + + + Migrations.Infrastructure.AutomaticDataLossException with message like "Automatic migration was not applied because it would result in data loss." + + + + + Migrations.Infrastructure.MigrationsException with message like "Cannot scaffold the next migration because the target database was created with a version of Code First earlier than EF 4.3 and does not contain the migrations history table. To start using migrations against this database, ensure the current model is compatible with the target database and execute the migrations Update process. (In Visual Studio you can use the Update-Database command from Package Manager Console to execute the migrations Update process)." + + + + + Migrations.Infrastructure.MigrationsException with message like "The specified target migration '{0}' does not exist. Ensure that target migration refers to an existing migration id." + + + + + Migrations.Infrastructure.MigrationsException with message like "The Foreign Key on table '{0}' with columns '{1}' could not be created because the principal key columns could not be determined. Use the AddForeignKey fluent API to fully specify the Foreign Key." + + + + + Migrations.Infrastructure.MigrationsException with message like "'{0}' is not a valid target migration. When targeting a previously applied automatic migration, use the full migration id including timestamp." + + + + + Migrations.Infrastructure.MigrationsException with message like "'{0}' is not a valid migration. Code-based migrations must be used for both source and target when scripting the upgrade between them." + + + + + Migrations.Infrastructure.MigrationsException with message like "The target context '{0}' is not constructible. Add a default constructor or provide an implementation of IDbContextFactory." + + + + + Migrations.Infrastructure.MigrationsException with message like "The specified migration name '{0}' is ambiguous. Specify the full migration id including timestamp instead." + + + + + Migrations.Infrastructure.AutomaticMigrationsDisabledException with message like "Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration." + + + + + Migrations.Infrastructure.MigrationsException with message like "Scripting the downgrade between two specified migrations is not supported." + + + + + Migrations.Infrastructure.MigrationsException with message like "The migrations configuration type '{0}' was not be found in the assembly '{1}'." + + + + + Migrations.Infrastructure.MigrationsException with message like "More than one migrations configuration type '{0}' was found in the assembly '{1}'. Specify the fully qualified name of the one to use." + + + + + Migrations.Infrastructure.MigrationsException with message like "No migrations configuration type was found in the assembly '{0}'. (In Visual Studio you can use the Enable-Migrations command from Package Manager Console to add a migrations configuration)." + + + + + Migrations.Infrastructure.MigrationsException with message like "More than one migrations configuration type was found in the assembly '{0}'. Specify the name of the one to use." + + + + + Migrations.Infrastructure.MigrationsException with message like "The type '{0}' is not a migrations configuration type." + + + + + Migrations.Infrastructure.MigrationsException with message like "The migrations configuration type '{0}' must have a public default constructor." + + + + + Migrations.Infrastructure.MigrationsException with message like "The migrations configuration type '{0}' must not be abstract." + + + + + Migrations.Infrastructure.MigrationsException with message like "The migrations configuration type '{0}' must not be generic." + + + + + Migrations.Infrastructure.MigrationsException with message like "Direct column renaming is not supported by SQL Server Compact. To rename a column in SQL Server Compact, you will need to recreate it." + + + + + Migrations.Infrastructure.MigrationsException with message like "In VB.NET projects, the migrations namespace '{0}' must be under the root namespace '{1}'. Update the migrations project's root namespace to allow classes under the migrations namespace to be added." + + + + + + Migrations.Infrastructure.MigrationsException with message like "No MigrationSqlGenerator found for provider '{0}'. Use the SetSqlGenerator method in the target migrations configuration class to register additional SQL generators." + + + + + Migrations.Infrastructure.MigrationsException with message like "No context type was found in the assembly '{0}'." + + + + + Migrations.Infrastructure.MigrationsException with message like "The context type '{0}' was not found in the assembly '{1}'." + + + + + Migrations.Infrastructure.MigrationsException with message like "More than one context type '{0}' was found in the assembly '{1}'. Specify the fully qualified name of the context." + + + + + ArgumentException with message like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + ArgumentException with message like "The argument property '{0}' cannot be null." + + + + + ArgumentException with message like "The precondition '{0}' failed. {1}" + + + + + InvalidOperationException with message like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type." + + + + + InvalidOperationException with message like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type." + + + + + InvalidOperationException with message like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + InvalidOperationException with message like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + InvalidOperationException with message like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property." + + + + + InvalidOperationException with message like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property." + + + + + InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'." + + + + + InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'." + + + + + InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New With {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New With {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + + InvalidOperationException with message like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}" + + + + + InvalidOperationException with message like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}" + + + + + InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject." + + + + + InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys." + + + + + MappingException with message like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities." + + + + + InvalidOperationException with message like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name." + + + + + InvalidOperationException with message like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API." + + + + + InvalidOperationException with message like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property." + + + + + InvalidOperationException with message like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property." + + + + + InvalidOperationException with message like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'." + + + + + InvalidOperationException with message like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call." + + + + + InvalidOperationException with message like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name." + + + + + InvalidOperationException with message like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax." + + + + + InvalidOperationException with message like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation." + + + + + ArgumentException with message like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string." + + + + + InvalidOperationException with message like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set." + + + + + InvalidOperationException with message like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model." + + + + + NotSupportedException with message like "Unable to determine the provider name for connection of type '{0}'." + + + + + ArgumentException with message like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length." + + + + + ArgumentException with message like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once." + + + + + InvalidOperationException with message like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model or it is of a type not supported by the DbModelBuilderVersion being used." + + + + + InvalidOperationException with message like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them." + + + + + InvalidOperationException with message like "You cannot use Ignore method on the property '{0}' on type '{1}' because this type inherits from the type '{2}' where this property is mapped. To exclude this property from your model, use NotMappedAttribute or Ignore method on the base type." + + + + + InvalidOperationException with message like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types." + + + + + InvalidOperationException with message like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified." + + + + + InvalidOperationException with message like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns." + + + + + InvalidOperationException with message like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported." + + + + + InvalidOperationException with message like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations." + + + + + InvalidOperationException with message like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. " + + + + + NotSupportedException with message like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. " + + + + + InvalidOperationException with message like "The table '{0}' was configured but is not used in any mappings. Verify the mapping configuration for '{0}' is correct." + + + + + InvalidOperationException with message like "The configured column orders for the table '{0}' contains duplicates. Ensure the specified column order values are distinct." + + + + + NotSupportedException with message like "The enum or spatial property '{1}' on type '{0}' cannot be mapped. Use DbModelBuilderVersion 'V5_0' or later to map enum or spatial properties." + + + + + InvalidOperationException with message like "Multiple potential primary key properties named '{0}' but differing only by case were found on entity type '{1}'. Configure the primary key explicitly using the HasKey fluent API or the KeyAttribute data annotation." + + + + + InvalidOperationException with message like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor." + + + + + InvalidOperationException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor." + + + + + + NotSupportedException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state." + + + + + InvalidOperationException with message like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model." + + + + + + ArgumentException with message like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed." + + + + + ArgumentException with message like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created." + + + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property." + + + + + ArgumentException with message like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property."" + + + + + NotSupportedException with message like "Setting IsModified to false for a modified property is not supported." + + + + + ArgumentException with message like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties."" + + + + + ArgumentException with message like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'." + + + + + ArgumentException with message like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead." + + + + + ArgumentException with message like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'." + + + + + ArgumentException with message like "The expression passed to method {0} must represent a property defined on the type '{1}'." + + + + + InvalidOperationException with message like "{0} cannot be used for entities in the {1} state." + + + + + InvalidOperationException with message like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'." + + + + + InvalidOperationException with message like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property." + + + + + InvalidOperationException with message like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'." + + + + + NotSupportedException with message like "The set of property value names is read-only." + + + + + ArgumentException with message like "The '{0}' property does not exist or is not mapped for the type '{1}'." + + + + + ArgumentException with message like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'." + + + + + ArgumentException with message like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'." + + + + + ArgumentException with message like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type." + + + + + InvalidOperationException with message like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties." + + + + + InvalidOperationException with message like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties." + + + + + InvalidOperationException with message like "Cannot set the value of the nested property '{0}' because value of the complex property '{1}' to which it belongs is null." + + + + + InvalidOperationException with message like "Cannot set the original value of the nested property '{0}' because the original value of the complex property '{1}' to which it belongs is null." + + + + + InvalidOperationException with message like "The model backing the '{0}' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269)." + + + + + InvalidOperationException with message like "Database '{0}' cannot be created because it already exists." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the database does not contain model metadata. Model compatibility can only be checked for databases created using Code First or Code First Migrations." + + + + + + + InvalidOperationException with message like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. See inner exception for details." + + + + + InvalidOperationException with message like "Configuration for DbContext type '{0}' is specified multiple times in the application configuration. Each context can only be configured once." + + + + + InvalidOperationException with message like "Failed to set Database.DefaultConnectionFactory to an instance of the '{0}' type as specified in the application configuration. See inner exception for details." + + + + + InvalidOperationException with message like "The type '{0}' could not be found. The type name must be an assembly-qualified name." + + + + + InvalidOperationException with message like "The context cannot be used while the model is being created." + + + + + InvalidOperationException with message like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)." + + + + + InvalidOperationException with message like "The operation cannot be completed because the DbContext has been disposed." + + + + + InvalidOperationException with message like "The provider factory returned a null connection." + + + + + InvalidOperationException with message like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute."" + + + + + InvalidOperationException with message like "The DbConnectionFactory instance returned a null connection." + + + + + ArgumentException with message like "The number of primary key values passed must match number of primary key values defined on the entity." + + + + + ArgumentException with message like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details." + + + + + InvalidOperationException with message like "The entity found was of type {0} when an entity of type {1} was requested." + + + + + InvalidOperationException with message like "Multiple entities were found in the Added state that match the given primary key values." + + + + + InvalidOperationException with message like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types." + + + + + InvalidOperationException with message like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute." + + + + + InvalidOperationException with message like "The entity type {0} is not part of the model for the current context." + + + + + NotSupportedException with message like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()." + + + + + ArgumentException with message like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties." + + + + + InvalidOperationException with message like "No connection string named '{0}' could be found in the application config file." + + + + + InvalidOperationException with message like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection." + + + + + NotSupportedException with message like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor." + + + + + NotSupportedException with message like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used." + + + + + InvalidOperationException with message like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'." + + + + + InvalidOperationException with message like "The context type '{0}' must have a public constructor taking an EntityConnection." + + + + + NotSupportedException with message like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file." + + + + + DataException with message like "An exception occurred while initializing the database. See the InnerException for details." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + InvalidOperationException with message like "The context factory type '{0}' must have a public default constructor." + + + + + InvalidOperationException with message like "The generic 'Set' method cannot be called with a proxy type. Either use the actual entity type or call the non-generic 'Set' method." + + + + + InvalidOperationException with message like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "MinLengthAttribute must have a Length value that is zero or greater." + + + + + InvalidOperationException with message like "No connection string named '{0}' could be found in the application config file." + + + + + InvalidOperationException with message like "The connection can not be overridden because this context was created from an existing ObjectContext." + + + + + InvalidOperationException with message like "Can not override the connection for this context with a standard DbConnection because the original connection was an EntityConnection." + + + + + InvalidOperationException with message like "Can not override the connection for this context with an EntityConnection because the original connection was a standard DbConnection." + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + AutoGenerated resource class. Usage: + + string s = EntityRes.GetString(EntityRes.MyIdenfitier); + + + + + Allows the construction and modification of a user-specified annotation (name-value pair) on a instance. + + + + + Gets or sets an optional namespace that can be used to distinguish the annotation from others with the same value. + + + + + Gets or sets the name of the annotation. + + + + + Gets or sets the value of the annotation. + + + + + + + + + DataModelEventArgs is the base argument type for all events raised by consumers of Entity Data Model (EDM) models. + + + + + Gets a value indicating the that caused the event to be raised. + + + + + Gets an optional value indicating which property of the source item caused the event to be raised. + + + + + Gets a value that identifies the specific error that is being raised. + + + + + Gets an optional descriptive message the describes the error that is being raised. + + + + + DbAliasedMetadataItem provides the base type for all Database Metadata types that can have an optional that should be used instead of the item's when referring to the item in the database. + + + + + NamedDbItem is the base for all types in the Database Metadata construction and modification API with a property. + + + + + The base for all all Database Metadata types that support annotation using . + + + + + DbDataModelItem is the base for all types in the Database Metadata construction and modification API. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets or sets the currently assigned name. + + + + + Gets an optional alternative identifier that should be used when referring to this item in the database. + + + + + When implemented in derived types, allows the construction and modification of a column in a Database Metadata table or row. + + + + + Gets or sets a string indicating the database-specific type of the column. + + + + + Gets or sets a value indicating whether the column is nullable. + + + + + Gets or sets an optional instance that applies additional constraints to the referenced database-specific type of the column. + + + + + Allows the construction and modification of a database in a Database Metadata model. + + + + + Gets or sets an optional value that indicates the database model version. + + + + + Gets or sets the collection of instances that specifies the schemas within the database. + + + + + Allows the construction and modification of a foreign key constraint sourced by a instance. + + + + + Gets or sets the to take when a delete operation is attempted. + + + + + Indicates which Database Metadata concept is represented by a given item. + + + + + Database Kind + + + + + Schema Kind + + + + + Foreign Key Constraint Kind + + + + + Function Kind + + + + + Function Parameter Kind + + + + + Function Return or Parameter Type Kind + + + + + Row Column Kind + + + + + Table Kind + + + + + Table Column Kind + + + + + Primitive Facets Kind + + + + + Specifies the action to take on a given operation. + + + + + Default behavior + + + + + Restrict the operation + + + + + Cascade the operation + + + + + Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in a Database Metadata item. + + + + + Returns true if any facet value property currently has a non-null value; otherwise returns false . + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode. + + + + + Gets or sets an optional value indicating the current constraint on the type's maximum length. + + + + + Gets or sets an optional value indicating the current constraint on the type's precision. + + + + + Gets or sets an optional value indicating the current constraint on the type's scale. + + + + + Gets or sets an optional value indicating the current spatial type's SRID. + + + + + Gets or sets an optional value indicating the current spatial type's SRID. + + + + + Gets or sets an optional value indicating whether the spatial type is to be type checked strictly. + + + + + Allows the construction and modification of a database schema in a database model. + + + + + Gets or sets the collection of instances that specifies the tables declared within the schema. + + + + + DbSchemaMetadataItem is the base for all types that can be contained in a schema. + + + + + Allows the construction and modification of a column in a table. + + + + + Gets or sets a value indicating whether the column is part of the table's primary key. + + + + + Gets or sets a value indicating if and how the value of the column is automatically generated. + + + + + Gets or sets an optional value indicating the collation specific to this table column. + + + + + Gets or sets an optional value that specifies the default value for the column. + + + + + Allows the construction and modification a table in a database schema. + + + + + Gets or sets the collection of instances that specifies the columns present within the table. + + + + + Gets or sets the collection of instances from the collection of the table that are part of the primary key. + + + + + Gets or sets the collection of instances that defines the foreign key constraints sourced from the table. + + + + + Represents a specific use of a type in a Database Metadata item. + + + + + Gets or sets an optional instance that applies additional constraints to a referenced primitive type. + + + Accessing this property forces the creation of a DbPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value. + + + + + Gets or sets a value indicating whether the represented type is a collection type. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered nullable. + + + + + Gets a value indicating whether the type has been configured as a row type by the addition of one or more RowColumns. + + + + + Represents the mapping of an EDM association end ( ) as a collection of property mappings ( ). + + + + + DbMappingMetadataItem is the base for all types in the EDM-to-Database Mapping construction and modification API that support annotation using . + + + + + DbMappingModelItem is the base for all types in the EDM-to-Database Mapping construction and modification API. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets an value representing the association end that is being mapped. + + + + + Gets the collection of s that specifies how the association end key properties are mapped to the table. + + + + + Gets an value representing the association set that is being mapped. + + + + + Gets a value representing the table to which the entity type's properties are being mapped. + + + + + Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping to apply. + + + + + Allows the construction and modification of a condition for a column in a database table. + + + + + Gets or sets a value representing the table column which must contain for this condition to hold. + + + + + Gets or sets the value that must contain for this condition to hold. + + + + + Gets or sets an value representing the model that is being mapped. + + + + + Gets or sets a value representing the database that is the target of the mapping. + + + + + Gets or sets the collection of s that specifies how the model's entity containers are mapped to the database. + + + + + Represents the mapping of an entity property to a column in a database table. + + + + + Gets or sets the collection of instances that defines the mapped property, beginning from a property declared by the mapped entity type and optionally proceeding through properties of complex property result types. + + + + + Gets or sets a value representing the table column to which the entity property is being mapped. + + + + + Allows the construction and modification of the mapping of an EDM entity container ( ) to a database ( ). + + + + + Gets or sets an value representing the entity container that is being mapped. + + + + + Gets or sets the collection of s that specifies how the container's entity sets are mapped to the database. + + + + + Gets the collection of s that specifies how the container's association sets are mapped to the database. + + + + + Allows the construction and modification of the mapping of an EDM entity set ( ) to a database ( ). + + + + + Gets or sets an value representing the entity set that is being mapped. + + + + + Gets or sets the collection of s that specifies how the set's entity types are mapped to the database. + + + + + Allows the construction and modification of a complete or partial mapping of an EDM entity type ( ) or type hierarchy to a specific database table ( ). + + + + + Gets or sets an value representing the entity type or hierarchy that is being mapped. + + + + + Gets or sets a value indicating whether this type mapping applies to and all its direct or indirect subtypes ( true ), or only to ( false ). + + + + + Gets a value representing the table to which the entity type's properties are being mapped. + + + + + Gets the collection of s that specifies how the type's properties are mapped to the table. + + + + + Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping fragment to apply. + + + + + Indicates which EDM-to-Database Mapping concept is represented by a given item. + + + + + Database Mapping Kind + + + + + Entity Container Mapping Kind + + + + + Entity Set Mapping Kind + + + + + Association Set Mapping Kind + + + + + Entity Type Mapping Kind + + + + + Query View Mapping Kind + + + + + Entity Type Mapping Fragment Kind + + + + + Edm Property Mapping Kind + + + + + Association End Mapping Kind + + + + + Column Condition Kind + + + + + Property Condition Kind + + + + + Allows the construction and modification of a constraint applied to an Entity Data Model (EDM) association. + + + + + Gets or sets the that represents the 'dependent' end of the constraint; properties from this association end's entity type contribute to the collection. + + + + + Gets or sets the collection of instances from the of the constraint. The values of these properties are constrained against the primary key values of the remaining, 'principal' association end's entity type. + + + + + Allows the construction and modification of one end of an Entity Data Model (EDM) association. + + + + + Gets or sets the entity type referenced by this association end. + + + + + Gets or sets the of this association end, which indicates the multiplicity of the end and whether or not it is required. + + + + + Gets or sets the to take when a delete operation is attempted. + + + + + Indicates the multiplicity of an and whether or not it is required. + + + + + Allows the construction and modification of an association set in an Entity Data Model (EDM) ). + + + + + Represents an item in an Entity Data Model (EDM) . + + + + + Gets or sets the that specifies the association type for the set. + + + + + Gets or sets the that specifies the entity set corresponding to the association end for this association set. + + + + + Gets or sets the that specifies the entity set corresponding to the association end for this association set. + + + + + + The base for all all Entity Data Model (EDM) types that represent a structured type from the EDM type system. + + + + + Gets or sets the that defines the source end of the association. + + + + + Gets or sets the that defines the target end of the association. + + + + + Gets or sets the optional constraint that indicates whether the relationship is an independent association (no constraint present) or a foreign key relationship ( specified). + + + + + Collection semantics for properties. + + + + + The property does not have a collection type or does not specify explicit collection semantics. + + + + + The property is an unordered collection that may contain duplicates. + + + + + The property is an ordered collection that may contain duplicates. + + + + + Allows the construction and modification of a complex type in an Entity Data Model (EDM) . + + + + + Gets or sets the optional that indicates the base complex type of the complex type. + + + + + Gets or sets a value indicating whether the complex type is abstract. + + + + + Gets or sets the collection of instances that describe the (scalar or complex) properties of the complex type. + + + + + Concurrency mode for properties. + + + + + Default concurrency mode: the property is never validated at write time + + + + + Fixed concurrency mode: the property is always validated at write time + + + + + Allows the construction and modification of an entity container in an Entity Data Model (EDM) . + + + + + Gets all s declared within the namspace. Includes s and s. + + + + + Gets or sets the collection of s that specifies the association sets within the container. + + + + + Gets or sets the collection of s that specifies the entity sets within the container. + + + + + Allows the construction and modification of an entity set in an Entity Data Model (EDM) . + + + + + Gets or sets the that specifies the entity type for the set. + + + + + Allows the construction and modification of an entity type in an Entity Data Model (EDM) . + + + + + Gets or sets the optional that indicates the base entity type of the entity type. + + + + + Gets or sets a value indicating whether the entity type is abstract. + + + + + Gets or sets the collection of s that specifies the properties declared by the entity type. + + + + + Gets or sets the collection of s that indicates which properties from the collection are part of the entity key. + + + + + Gets or sets the optional collection of s that specifies the navigation properties declared by the entity type. + + + + + Indicates which Entity Data Model (EDM) concept is represented by a given item. + + + + + Association End Kind + + + + + Association Set Kind + + + + + Association Type Kind + + + + + Collection Type Kind + + + + + Complex Type Kind + + + + + Entity Container Kind + + + + + Entity Set Kind + + + + + Entity Type Kind + + + + + Function Group Kind + + + + + Function Overload Kind + + + + + Function Import Kind + + + + + Function Parameter Kind + + + + + Navigation Property Kind + + + + + EdmProperty Type Kind + + + + + Association Constraint Type Kind + + + + + Ref Type Kind + + + + + Row Column Kind + + + + + Row Type Kind + + + + + Type Reference Kind + + + + + Model Kind + + + + + Namespace Kind + + + + + Primitive Facets Kind + + + + + Primitive Type Kind + + + + + Enum Type Kind + + + + + Enum Type Member Kind + + + + + EdmModel is the top-level container for namespaces and entity containers belonging to the same logical Entity Data Model (EDM) model. + + + + + Gets or sets an optional value that indicates the entity model version. + + + + + Gets or sets the containers declared within the model. + + + + + Gets or sets the namespaces declared within the model. + + + + + Allows the construction and modification of a namespace in an . + + + + + Gets all s declared within the namspace. Includes s, s, s. + + + + + Gets or sets the s declared within the namespace. + + + + + Gets or sets the s declared within the namespace. + + + + + Gets or sets the s declared within the namespace. + + + + + Allows the construction and modification of an Entity Data Model (EDM) navigation property. + + + + + Gets or sets the that specifies the association over which navigation takes place. + + + + + Gets or sets the that specifies which association end is the 'destination' end of the navigation and produces the navigation property result. + + + + + Specifies the action to take on a given operation. + + + + + Default behavior + + + + + Restrict the operation + + + + + Cascade the operation + + + + + Represents one of the fixed set of Entity Data Model (EDM) primitive types. + + + + + The base for all all Entity Data Model (EDM) types that represent a scalar type from the EDM type system. + + + + + Retrieves the EdmPrimitiveType instance with the corresponding to the specified value, if any. + + The name of the primitive type instance to retrieve + The EdmPrimitiveType with the specified name, if successful; otherwise null . + true if the given name corresponds to an EDM primitive type name; otherwise false . + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets an value that indicates which Entity Data Model (EDM) primitive type this type represents. + + + + + Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in an Entity Data Model (EDM) item. See . + + + + + Returns true if any facet value property currently has a non-null value; otherwise returns false . + + + + + Gets or sets an optional value indicating the current constraint on the type's maximum length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode. + + + + + Gets or sets an optional value indicating the current constraint on the type's precision. + + + + + Gets or sets an optional value indicating the current constraint on the type's scale. + + + + + Gets or sets an optional value indicating that the current spatial type's SRID is unconstrained. + + + + + Gets or sets an optional value indicating the current spatial type's SRID. + + + + + Gets or sets an optional value indicating whether the spatial type is to be type checked strictly. + + + + + Primitive Types as defined by the Entity Data Model (EDM). + + + + + Binary Type Kind + + + + + Boolean Type Kind + + + + + Byte Type Kind + + + + + DateTime Type Kind + + + + + Decimal Type Kind + + + + + Double Type Kind + + + + + Guid Type Kind + + + + + Single Type Kind + + + + + SByte Type Kind + + + + + Int16 Type Kind + + + + + Int32 Type Kind + + + + + Int64 Type Kind + + + + + String Type Kind + + + + + Time Type Kind + + + + + DateTimeOffset Type Kind + + + + + Geometry Type Kind + + + + + Geography Type Kind + + + + + Geometric point type kind + + + + + Geometric linestring type kind + + + + + Geometric polygon type kind + + + + + Geometric multi-point type kind + + + + + Geometric multi-linestring type kind + + + + + Geometric multi-polygon type kind + + + + + Geometric collection type kind + + + + + Geographic point type kind + + + + + Geographic linestring type kind + + + + + Geographic polygon type kind + + + + + Geographic multi-point type kind + + + + + Geographic multi-linestring type kind + + + + + Geographic multi-polygon type kind + + + + + Geographic collection type kind + + + + + Allows the construction and modification of a primitive- or complex-valued property of an Entity Data Model (EDM) entity or complex type. + + + + + Gets or sets an value that indicates which collection semantics - if any - apply to the property. + + + + + Gets or sets a value that indicates whether the property is used for concurrency validation. + + + + + Gets or sets on optional value that indicates an initial default value for the property. + + + + + Gets or sets an that specifies the result type of the property. + + + + + Enumerates all s declared or inherited by an . + + + + + Allows the construction and modification of a specific use of a type in an Entity Data Model (EDM) item. See for examples. + + + + + Gets or sets a value indicating the collection rank of the type reference. A collection rank greater than zero indicates that the type reference represents a collection of its referenced . + + + + + Gets or sets a value indicating the referenced by this type reference. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered nullable. + + + + + Gets or sets an optional instance that applies additional constraints to a referenced primitive type. + + + Accessing this property forces the creation of an EdmPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value. + + + + + Gets a value indicating whether the property of this type reference has been assigned an value with at least one facet value specified. + + + + + Indicates whether this type reference represents a collection of its referenced (when is greater than zero) or not. + + + + + Indicates whether the property of this type reference currently refers to an , is not a collection type, and does not have primitive facet values specified. + + + + + Gets the currently referred to by this type reference, or null if the type reference is a collection type or does not refer to a complex type. + + + + + Indicates whether the property of this type reference currently refers to an and is not a collection type. + + + + + Gets the currently referred to by this type reference, or null if the type reference is a collection type or does not refer to a primitive type. + + + + + Contains constant values that apply to the EDM model, regardless of source (for CSDL specific constants see ). + + + + + Parsing code taken from System.dll's System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string) method to avoid LinkDemand needed to call this method + + + + + + + + + + + Constants for CSDL XML. + + + + + Constants for C-S MSL XML. + + + + + Constants for SSDL XML. + + + + + The acceptable range for this enum is 0000 - 0999; the range 10,000-15,000 is reserved for tools. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Precision out of range + + + + + Scale out of range + + + + + + + + + + + + + One of the required facets is missing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The facet isn't allow by the property type. + + + + + This facet value is constant and is specified in the schema + + + + + + + + + + + + + Multiplicity value was malformed + + + + + The value for the Action attribute is invalid or not allowed in the current context + + + + + An error occurred processing the On<Operation> elements + + + + + Ends were given for the Property element of a EntityContainer that is not a RelationshipSet + + + + + The extent name used in the EntittyContainerType End does not match the name of any of the EntityContainerProperties in the containing EntityContainer + + + + + An end element was not given, and cannot be inferred because too many EntityContainerEntitySet elements that are good possibilities. + + + + + An end element was not given, and cannot be inferred because there is no EntityContainerEntitySets that are the correct type to be used as an EntitySet. + + + + + Not a valid parameter direction for the parameter in a function + + + + + Unable to infer an optional schema part, to resolve this; be more explicit + + + + + Invalid facet attribute(s) specified in provider manifest + + + + + Invalid role value in the relationship constraint + + + + + Invalid Property in relationship constraint + + + + + Type mismatch between ToProperty and FromProperty in the relationship constraint + + + + + Invalid multiplicity in FromRole in the relationship constraint + + + + + The number of properties in the FromProperty and ToProperty in the relationship constraint must be identical + + + + + No Properties defined in either FromProperty or ToProperty in the relationship constraint + + + + + Missing constraint in relationship type in ssdl + + + + + Same role referred in the ToRole and FromRole of a referential constraint + + + + + Invalid value for attribute ParameterTypeSemantics + + + + + Invalid type used for a Relationship End Type + + + + + Invalid PrimitiveTypeKind + + + + + Invalid TypeConversion DestinationType + + + + + Expected a integer value between 0 - 255 + + + + + Invalid Type specified in function + + + + + Precision must not be greater than 28 + + + + + Properties that are part of entity key must be of scalar type + + + + + Binary type properties which are part of entity key are currently not supported + + + + + The primitive type kind does not have a preferred mapping + + + + + More than one PreferredMapping for a PrimitiveTypeKind + + + + + End with * multiplicity cannot have operations specified + + + + + EntitySet type has no keys + + + + + InvalidNumberOfParametersForAggregateFunction + + + + + InvalidParameterTypeForAggregateFunction + + + + + Composable functions must declare a return type. + + + + + Non-composable functions must not declare a return type. + + + + + Non-composable functions do not permit the aggregate; niladic; or built-in attributes. + + + + + Composable functions can not include command text attribute. + + + + + Functions should not declare both a store name and command text (only one or the other can be used). + + + + + SystemNamespace + + + + + Empty DefiningQuery text + + + + + Schema, Table and DefiningQuery are all specified, and are mutually exclusive + + + + + ConcurrencyMode value was malformed + + + + + Concurrency can't change for any sub types of an EntitySet type. + + + + + Function import return type must be either empty, a collection of entities, or a singleton scalar. + + + + + Function import specifies a non-existent entity set. + + + + + Function import specifies entity type return but no entity set. + + + + + Function import specifies entity type that does not derive from element type of entity set. + + + + + Function import specifies a binding to an entity set but does not return entities. + + + + + InternalError + + + + + Same Entity Set Taking part in the same role of the relationship set in two different relationship sets + + + + + Entity key refers to the same property twice + + + + + Function declares a ReturnType attribute and element + + + + + Nullable Complex Type not supported in Edm V1 + + + + + Only Complex Collections supported in Edm V1.1 + + + + + No Key defined on Entity Type + + + + + Invalid namespace specified in using element + + + + + Need not specify system namespace in using + + + + + Cannot use a reserved/system namespace as alias + + + + + Invalid qualification specified for type + + + + + Invalid Entity Container Name in extends attribute + + + + + Invalid CollectionKind value in property CollectionKind attribute + + + + + Must specify namespace or alias of the schema in which this type is defined + + + + + Entity Container cannot extend itself + + + + + Failed to retrieve provider manifest + + + + + Mismatched Provider Manifest token values in SSDL artifacts + + + + + Missing Provider Manifest token value in SSDL artifact(s) + + + + + Empty CommandText element + + + + + Inconsistent Provider values in SSDL artifacts + + + + + Inconsistent Provider Manifest token values in SSDL artifacts + + + + + Duplicated Function overloads + + + + + InvalidProvider + + + + + FunctionWithNonEdmTypeNotSupported + + + + + ComplexTypeAsReturnTypeAndDefinedEntitySet + + + + + ComplexTypeAsReturnTypeAndDefinedEntitySet + + + + unused 179, + unused 180, + unused 181, + + In model functions facet attribute is allowed only on ScalarTypes + + + + + Captures several conditions where facets are placed on element where it should not exist. + + + + + Return type has not been declared + + + + + Invalid value in the EnumTypeOption + + + + + The structural annotation cannot use codegen namespaces + + + + + Function and type cannot have the same fully qualified name + + + + + Cannot load different version of schema in the same ItemCollection + + + + + Expected bool value + + + + + End without Multiplicity specified + + + + + In SSDL, if composable function returns a collection of rows (TVF), all row properties must be of scalar types. + + + + + The name of NamedEdmItem must not be empty or white space only + + + + + EdmTypeReference is empty + + Unused 199; + + + + Serializes an that conforms to the restrictions of a single CSDL schema file to an XML writer. The model to be serialized must contain a single and a single . + + + + + Serialize the to the XmlWriter. + + The EdmModel to serialize, mut have only one and one + The XmlWriter to serialize to + + + + Serialize the to the XmlWriter + + The DbModel to serialize + The XmlWriter to serialize to + + + + Serialize the to the + + The DbDatabaseMetadata to serialize + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + + + + + author/email + + + + + author/name + + + + + author/uri + + + + + published + + + + + rights + + + + + summary + + + + + title + + + + + contributor/email + + + + + contributor/name + + + + + contributor/uri + + + + + category/@label + + + + + Plaintext + + + + + HTML + + + + + XHTML + + + + + updated + + + + + link/@href + + + + + link/@rel + + + + + link/@type + + + + + link/@hreflang + + + + + link/@title + + + + + link/@length + + + + + category/@term + + + + + category/@scheme + + + + + Return role name pair + + + + + + + + The context for DataModel Validation + + + + + Returns true if the given two ends are similar - the relationship type that this ends belongs to is the same and the entity set refered by the ends are same and they are from the same role + + + + + + + + Return true if the Referential Constraint on the association is ready for further validation, otherwise return false. + + + + + + + Resolves the given property names to the property in the item Also checks whether the properties form the key for the given type and whether all the properties are nullable or not + + + + + + + + + + + Return true if the namespaceName is a Edm System Namespace + + + + + + + Return true if the entityType is a subtype of any entity type in the dictionary keys, and return the corresponding entry EntitySet value. Otherwise return false. + + + + + + + + + Return true if any of the properties in the EdmEntityType defines ConcurrencyMode. Otherwise return false. + + + + + + + Add member name to the Hash set, raise an error if the name exists already. + + + + + + + + + If the string is null, empty, or only whitespace, return false, otherwise return true + + + + + + + Determine if a cycle exists in the type hierarchy: use two pointers to walk the chain, if one catches up with the other, we have a cycle. + + true if a cycle exists in the type hierarchy, false otherwise + + + + RuleSet for DataModel Validation + + + + + Get the related rules given certain DataModelItem + + The to validate + A collection of + + + + Data Model Validator + + + + + Validate the and all of its properties given certain version. + + The root of the model to be validated + True to validate the syntax, otherwise false + + + + The RuleSet for EdmModel + + + + + Get based on version + + a double value of version + + + + + The context for EdmModel Validation + + + + + Visitor for EdmModel Validation + + + + + Edm Model Validator + + + + + validate the from the root with the context + + The root to validate from + The validation context + + + + An implementation of IDatabaseInitializer that will recreate and optionally re-seed the + database only if the database does not exist. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An instances of this class is obtained from an object and can be used + to manage the actual database backing a DbContext or connection. + This includes creating, deleting, and checking for the existence of a database. + Note that deletion and checking for existence of a database can be performed using just a + connection (i.e. without a full context) by using the static methods of this class. + + + + + Creates a Database backed by the given context. This object can be used to create a database, + check for database existence, and delete a database. + + The context that defines the database connection and model. + + + + Gets or sets the database initialization strategy. The database initialization strategy is called when instance + is initialized from a . The strategy can optionally check for database existence, create a new database, and + seed the database with data. + The default strategy is an instance of . + + The type of the context. + The strategy. + The database creation strategy. + + + + Internal version of SetInitializer that allows the strategy to be locked such that it cannot be replaced + by another call to SetInitializer. This allows strategies set in the app.config to win over strategies set + in code. + + The type of the context. + The strategy. + if set to true then the strategy is locked. + + + + Runs the the registered on this context. + + If "force" is set to true, then the initializer is run regardless of whether or not it + has been run before. This can be useful if a database is deleted while an app is running + and needs to be reinitialized. + + If "force" is set to false, then the initializer is only run if it has not already been + run for this context, model, and connection in this app domain. This method is typically + used when it is necessary to ensure that the database has been created and seeded + before starting some operation where doing so lazily will cause issues, such as when the + operation is part of a transaction. + + if set to true the initializer is run even if it has already been run. + + + + Checks whether or not the database is compatible with the the current Code First model. + + + Model compatibility currently uses the following rules. + + If the context was created using either the Model First or Database First approach then the + model is assumed to be compatible with the database and this method returns true. + + For Code First the model is considered compatible if the model is stored in the database + in the Migrations history table and that model has no differences from the current model as + determined by Migrations model differ. + + If the model is not stored in the database but an EF 4.1/4.2 model hash is found instead, + then this is used to check for compatibility. + + + If set to true then an exception will be thrown if no model metadata is found in + the database. If set to false then this method will return true if metadata + is not found. + + True if the model hash in the context and the database match; false otherwise. + + + + + Creates a new database on the database server for the model defined in the backing context. + Note that calling this method before the database initialization strategy has run will disable + executing that strategy. + + + + + Creates a new database on the database server for the model defined in the backing context, but only + if a database with the same name does not already exist on the server. + + True if the database did not exist and was created; false otherwise. + + + + Checks whether or not the database exists on the server. + + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + Calling this method from outside of an initializer will mark the database as having + not been initialized. This means that if an attempt is made to use the database again + after it has been deleted, then any initializer set will run again and, usually, will + try to create the database again automatically. + + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + + An existing connection to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + An existing connection to the database. + True if the database did exist and was deleted; false otherwise. + + + + Resets the DefaultConnectionFactory to its initial value. + Currently, this method is only used by test code. + + + + + Performs the operation defined by the given delegate using the given lazy connection, ensuring + that the lazy connection is disposed after use. + + Information used to create a DbConnection. + The operation to perform. + The return value of the operation. + + + + Performs the operation defined by the given delegate against a connection. The connection + is either the connection accessed from the context backing this object, or is obtained from + the connection information passed to one of the static methods. + + The connection to use. + The operation to perform. + The return value of the operation. + + + + Returns an empty ObjectContext that can be used to perform delete/exists operations. + + The connection for which to create an ObjectContext + The empty context. + + + + Creates a raw SQL query that will return elements of the given generic type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + The type of object returned by the query. + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Creates a raw SQL query that will return elements of the given type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + The type of object returned by the query. + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Executes the given DDL/DML command against the database. + + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Returns the connection being used by this context. This may cause the + connection to be created if it does not already exist. + + Thrown if the context has been disposed. + + + + Returns the as a delegate that can be called with + an instance of the that owns this Database object, or returns null if + there is no initializer set for this context type. + + The initializer delegate or null. + + + + The connection factory to use when creating a from just + a database name or a connection string. + + + This is used when just a database name or connection string is given to or when + the no database name or connection is given to DbContext in which case the name of + the context class is passed to this factory in order to generate a DbConnection. + By default, the instance to use is read from the applications .config + file from the "EntityFramework DefaultConnectionFactory" entry in appSettings. If no entry is found in + the config file then is used. Setting this property in code + always overrides whatever value is found in the config file. + + + + + Checks wether or not the DefaultConnectionFactory has been set to something other than its default value. + + + + + + + Common code for generic and non-generic string Include. + + + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have a AsNoTracking method, + then calling this method will have no affect. + + The element type. + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have a AsNoTracking method, + then calling this method will have no affect. + + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Common code for generic and non-generic AsNoTracking. + + + + + Enumerates the query such that for server queries such as those of , , + , and others the results of the query will be loaded into the associated , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + + + Returns an implementation that stays in sync with the given . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + DbModelBuilder is used to map CLR classes to a database schema. + This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'. + + + DbModelBuilder is typically used to configure a model by overriding . + You can also use DbModelBuilder independently of DbContext to build a model and then construct a + or . + The recommended approach, however, is to use OnModelCreating in as + the workflow is more intuitive and takes care of common tasks, such as caching the created model. + + Types that form your model are registered with DbModelBuilder and optional configuration can be + performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder + API. + + When the Build method is called a set of conventions are run to discover the initial model. + These conventions will automatically discover aspects of the model, such as primary keys, and + will also process any data annotations that were specified on your classes. Finally + any configuration that was performed using the DbModelBuilder API is applied. + + Configuration done via the DbModelBuilder API takes precedence over data annotations which + in turn take precedence over the default conventions. + + + + + Initializes a new instance of the class. + + The process of discovering the initial model will use the set of conventions included + in the most recent version of the Entity Framework installed on your machine. + + + Upgrading to newer versions of the Entity Framework may cause breaking changes + in your application because new conventions may cause the initial model to be + configured differently. There is an alternate constructor that allows a specific + version of conventions to be specified. + + + + + Initializes a new instance of the class that will use + a specific set of conventions to discover the initial model. + + The version of conventions to be used. + + + + Excludes a type from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The type to be excluded. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Excludes a type(s) from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The types to be excluded from the model. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Registers an entity type as part of the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same entity to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers a type as an entity in the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers a type as a complex type in the model and returns an object that can be used to + configure the complex type. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified complex type. + + + + Creates a based on the configuration performed using this builder. + The connection is used to determine the database provider being used as this + affects the database layer of the generated model. + + Connection to use to determine provider information. + The model that was built. + + + + Creates a based on the configuration performed using this builder. + Provider information must be specified because this affects the database layer of the generated model. + For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.) + + The database provider that the model will be used with. + The model that was built. + + + + Provides access to the settings of this DbModelBuilder that deal with conventions. + + + + + Gets the for this DbModelBuilder. + The registrar allows derived entity and complex type configurations to be registered with this builder. + + + + + A value from this enumeration can be provided directly to the + class or can be used in the applied to + a class derived from . The value used defines which version of + the DbContext and DbModelBuilder conventions should be used when building a model from + code--also know as "Code First". + + + Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available + when upgrading to a new release of the Entity Framework. However, it may result in an + application behaving differently with the new release than it did with a previous release. + This can be avoided by using a specific version of the conventions, but if a version + other than the latest is set then not all the latest functionality will be available. + + + + + Indicates that the latest version of the and + conventions should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework 4.1 + through 4.3 should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework 5.0 + when targeting .NET 4 should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework 5.0 + when targeting .NET 4.5 should be used. + + + + + This attribute can be applied to a class derived from to set which + version of the DbContext and conventions should be used when building + a model from code--also know as "Code First". See the + enumeration for details about DbModelBuilder versions. + + + If the attribute is missing from DbContextthen DbContext will always use the latest + version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest. + + + + + Initializes a new instance of the class. + + The conventions version to use. + + + + Gets the conventions version. + + The conventions version. + + + + A non-generic version of which can be used when the type of entity + is not known at build time. + + + + + Represents a non-generic LINQ to Entities query against a DbContext. + + + + + An internal interface implemented by and that allows access to + the internal query without using reflection. + + + + + The underlying internal set. + + + + + Internal constructor prevents external classes deriving from DbQuery. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + + Never returns; always throws. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns the equivalent generic object. + + The type of element for which the query was created. + The generic set object. + + + + Returns a representation of the underlying query. + + + The query string. + + + + + Returns false. + + false. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Gets the underlying internal query object. + + The internal query. + + + + The internal query object that is backing this DbQuery + + + + + An internal interface implemented by and that allows access to + the internal set without using reflection. + + + + + The underlying internal set. + + + + + Internal constructor prevents external classes deriving from DbSet. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Returns the equivalent generic object. + + The type of entity for which the set was created. + The generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + The internal IQueryable that is backing this DbQuery + + + + + Gets the underlying internal set. + + The internal set. + + + + A DbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. + + + Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a + one-to-one correlation between a type and a set. + + The type that defines the set. + + + + Represents a LINQ to Entities query against a DbContext. + + The type of entity to query for. + + + + Creates a new query that will be backed by the given internal query object. + + The backing query. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + + Never returns; always throws. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Returns a representation of the underlying query. + + + The query string. + + + + + Returns a new instance of the non-generic class for this query. + + A non-generic version. + + + + Returns false. + + false. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + The internal query object that is backing this DbQuery + + + + + The internal query object that is backing this DbQuery + + + + + An IDbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet is a concrete implementation of IDbSet. + + The type that defines the set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Creates a new set that will be backed by the given . + + The internal set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Returns the equivalent non-generic object. + + The non-generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + The internal IQueryable that is backing this DbQuery + + + + + An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the + database the first time that a context is used in the app domain. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the + database only if the model has changed since the database was created. + + + Whether or not the model has changed is determined by the + method. + To seed the database create a derived class and override the Seed method. + + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + Returned by the ChangeTracker method of to provide access to features of + the context that are related to change tracking of entities. + + + + + Initializes a new instance of the class. + + The internal context. + + + + Gets objects for all the entities tracked by this context. + + The entries. + + + + Gets objects for all the entities of the given type + tracked by this context. + + The type of the entity. + The entries. + + + + Detects changes made to the properties and relationships of POCO entities. Note that some types of + entity (such as change tracking proxies and entities that derive from ) + report changes automatically and a call to DetectChanges is not normally needed for these types of entities. + Also note that normally DetectChanges is called automatically by many of the methods of + and its related classes such that it is rare that this method will need to be called explicitly. + However, it may be desirable, usually for performance reasons, to turn off this automatic calling of + DetectChanges using the AutoDetectChangesEnabled flag from . + + + + + A non-generic version of the class. + + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + + + + Creates a from information in the given . + This method will create an instance of the appropriate subclass depending on the metadata contained + in the InternalMemberEntry instance. + + The internal member entry. + The new entry. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the name of the property. + + The property name. + + + + Gets or sets the current value of this property. + + The current value. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Gets the backing this object. + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal collection entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the collection element. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the collection of entities has been loaded from the database. + + true if the collection is loaded; otherwise, false. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Gets the backing this object as an . + + The internal member entry. + + + + Instances of this class are returned from the Collection method of + and allow operations such as loading to + be performed on the an entity's collection navigation properties. + + The type of the entity to which this property belongs. + The type of the element in the collection of entities. + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + This method will create an instance of the appropriate subclass depending on the metadata contained + in the InternalMemberEntry instance. + + The internal member entry. + The new entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets the underlying . + + The internal member entry. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal collection entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the collection of entities has been loaded from the database. + + true if the collection is loaded; otherwise, false. + + + + Gets the underlying as an . + + The internal member entry. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + An immutable representation of an Entity Data Model (EDM) model that can be used to create an + or can be passed to the constructor of a . + For increased performance, instances of this type should be cached and re-used to construct contexts. + + + + + For mocking. + + + + + Creates a model for the given EDM metadata model. + + The EDM metadata model. + + + + Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance + of DbContext can be created instead by using the appropriate DbContext constructor. + If a derived ObjectContext is used, then it must have a public constructor with a single + EntityConnection parameter. + The connection passed is used by the ObjectContext created, but is not owned by the context. The caller + must dispose of the connection once the context has been disposed. + + The type of context to create. + An existing connection to a database for use by the context. + + + + + Gets a cached delegate (or creates a new one) used to call the constructor for the given derived ObjectContext type. + + + + + A snapshot of the that was used to create this compiled model. + + + + + The provider info (provider name and manifest token) that was used to create this model. + + + + + A non-generic version of the class. + + + + + A non-generic version of the class. + + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + Setting this value to false for a modified property will revert the change by setting the + current value to the original value. If the result is that no properties of the entity are + marked as modified, then the entity will be marked as Unchanged. + Setting this value to false for properties of Added, Unchanged, or Deleted entities + is a no-op. + + + true if this instance is modified; otherwise, false. + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Gets the backing this object. + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the complex property. + The equivalent generic object. + + + + Instances of this class are returned from the ComplexProperty method of + and allow access to the state of a complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Instances of this class are returned from the Property method of + and allow access to the state of the scalar + or complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false. + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Gets the underlying as an . + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Describes the origin of the database connection string associated with a . + + + + + The connection string was created by convention. + + + + + The connection string was read from external configuration. + + + + + The connection string was explicitly specified at runtime. + + + + + The connection string was overriden by connection information supplied to DbContextInfo. + + + + + Returned by the Configuration method of to provide access to configuration + options for the context. + + + + + Initializes a new instance of the class. + + The internal context. + + + + Gets or sets a value indicating whether lazy loading of relationships exposed as + navigation properties is enabled. Lazy loading is enabled by default. + + true if lazy loading is enabled; otherwise, false. + + + + Gets or sets a value indicating whether or not the framework will create instances of + dynamically generated proxy classes whenever it creates an instance of an entity type. + Note that even if proxy creation is enabled with this flag, proxy instances will only + be created for entity types that meet the requirements for being proxied. + Proxy creation is enabled by default. + + true if proxy creation is enabled; otherwise, false. + + + + + Gets or sets a value indicating whether tracked entities should be validated automatically when + is invoked. + The default value is true. + + + + + Provides runtime information about a given type. + + + + + Creates a new instance representing a given type. + + The type deriving from . + + + + Creates a new instance representing a given targeting a specific database. + + The type deriving from . + Connection information for the database to be used. + + + + Creates a new instance representing a given type. An external list of + connection strings can be supplied and will be used during connection string resolution in place + of any connection strings specified in external configuration files. + + + It is preferable to use the constructor that accepts the entire config document instead of using this + constructor. Providing the entire config document allows DefaultConnectionFactroy entries in the config + to be found in addition to explicitly specified connection strings. + + The type deriving from . + A collection of connection strings. + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + The type deriving from . + An object representing the config file. + + + + Creates a new instance representing a given , targeting a specific database. + An external config object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + The type deriving from . + An object representing the config file. + Connection information for the database to be used. + + + + Creates a new instance representing a given type. A + can be supplied in order to override the default determined provider used when constructing + the underlying EDM model. + + The type deriving from . + A specifying the underlying ADO.NET provider to target. + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + A can be supplied in order to override the default determined + provider used when constructing the underlying EDM model. This can be useful to prevent EF from + connecting to discover a manifest token. + + The type deriving from . + An object representing the config file. + A specifying the underlying ADO.NET provider to target. + + + + Called internally when a context info is needed for an existing context, which may not be constructable. + + The context instance to get info from. + + + + If instances of the underlying type can be created, returns + a new instance; otherwise returns null. + + A instance. + + + + The concrete type. + + + + + Whether or not instances of the underlying type can be created. + + + + + The connection string used by the underlying type. + + + + + The connection string name used by the underlying type. + + + + + The ADO.NET provider name of the connection used by the underlying type. + + + + + The origin of the connection string used by the underlying type. + + + + + An action to be run on the DbModelBuilder after OnModelCreating has been run on the context. + + + + + A non-generic version of the class. + + + + + Initializes a new instance of the class. + + The internal entry. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Returns a new instance of the generic class for the given + generic type for the tracked entity represented by this object. + Note that the type of the tracked entity must be compatible with the generic type or + an exception will be thrown. + + The type of the entity. + A generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Gets InternalEntityEntry object for this DbEntityEntry instance. + + + + + Instances of this class provide access to information about and control of entities that + are being tracked by the . Use the Entity or Entities methods of + the context to obtain objects of this type. + + The type of the entity. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + An expression representing the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + An expression representing the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The type of the member. + The name of the member. + An object representing the member. + + + + Returns a new instance of the non-generic class for + the tracked entity represented by this object. + + A non-generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Represents an Entity Data Model (EDM) created by the . + The Compile method can be used to go from this EDM representation to a + which is a compiled snapshot of the model suitable for caching and creation of + or instances. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Creates a for this mode which is a compiled snapshot + suitable for caching and creation of instances. + + The compiled model. + + + + A snapshot of the that was used to create this compiled model. + + + + + A collection of all the properties for an underlying entity or complex object. + + + An instance of this class can be converted to an instance of the generic class + using the Cast method. + Complex properties in the underlying entity or complex object are represented in + the property values as nested instances of this class. + + + + + Initializes a new instance of the class. + + The internal dictionary. + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Sets the values of this dictionary by reading values out of the given object. + The given object can be of any type. Any property on the object with a name that + matches a property name in the dictionary and can be read will be read. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. This is useful especially with + nested dictionaries to avoid writing expressions with lots of casts. + + The type of the property. + Name of the property. + The value of the property. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the internal dictionary. + + The internal dictionary. + + + + A non-generic version of the class. + + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal reference entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the entity has been loaded from the database. + + true if the entity is loaded; otherwise, false. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Gets the backing this object as an . + + The internal member entry. + + + + Instances of this class are returned from the Reference method of + and allow operations such as loading to + be performed on the an entity's reference navigation properties. + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal reference entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the entity has been loaded from the database. + + true if the entity is loaded; otherwise, false. + + + + Gets the underlying as an . + + The internal member entry. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using the . + See for a generic version of this class. + + + + + Initializes a new instance of the class. + + The internal query. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with no-tracking applied. + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Gets the internal query. + + The internal query. + + + + Returns false. + + false. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using the . + See for a non-generic version of this class. + + + + + Executes the query and returns an enumerator for the elements. + + An + + object that can be used to iterate through the elements. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with no-tracking applied. + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Gets the internal query. + + The internal query. + + + + Returns false. + + false. + + + + Exception thrown by when it was expected that SaveChanges for an entity would + result in a database update but in fact no rows in the database were affected. This usually indicates + that the database has been concurrently updated such that a concurrency token that was expected to match + did not actually match. + Note that state entries referenced by this exception are not serialized due to security and accesses to + the state entries after serialization will return null. + + + + + + Initializes a new instance of the class. + + The internal context. + The inner exception. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Subscribes the SerializeObjectState event. + + + + + Gets objects that represents the entities that could not + be saved to the database. + + The entries representing the entities that could not be saved. + + + + Holds exception state that will be serialized when the exception is serialized. + + + + + Completes the deserialization. + + The deserialized object. + + + + Gets or sets a value indicating whether the exception involved independent associations. + + + + + Initializes a new instance of the class. + + The context. + The inner exception. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Represents an entity used to store metadata about an EDM in the database. + + + + + Attempts to get the model hash calculated by Code First for the given context. + This method will return null if the context is not being used in Code First mode. + + The context. + The hash string. + + + + Gets or sets the ID of the metadata entity, which is currently always 1. + + The id. + + + + Gets or sets the model hash which is used to check whether the model has + changed since the database was created from it. + + The model hash. + + + + Contains methods used to access the Entity Data Model created by Code First in the EDMX form. + These methods are typically used for debugging when there is a need to look at the model that + Code First creates internally. + + + + + Uses Code First with the given context and writes the resulting Entity Data Model to the given + writer in EDMX form. This method can only be used with context instances that use Code First + and create the model internally. The method cannot be used for contexts created using Database + First or Model First, for contexts created using a pre-existing , or + for contexts created using a pre-existing . + + The context. + The writer. + + + + Writes the Entity Data Model represented by the given to the + given writer in EDMX form. + + An object representing the EDM. + The writer. + + + + A factory for creating derived instances. Implement this + interface to enable design-time services for context types that do not have a + public default constructor. + + At design-time, derived instances can be created in order to enable specific + design-time experiences such as model rendering, DDL generation etc. To enable design-time instantiation + for derived types that do not have a public, default constructor, implement + this interface. Design-time services will auto-discover implementations of this interface that are in the + same assembly as the derived type. + + + + + + Creates a new instance of a derived type. + + An instance of TContext + + + + This convention causes DbModelBuilder to include metadata about the model + when it builds the model. When creates a model by convention it will + add this convention to the list of those used by the DbModelBuilder. This will then result in + model metadata being written to the database if the DbContext is used to create the database. + This can then be used as a quick check to see if the model has changed since the last time it was + used against the database. + This convention can be removed from the conventions by overriding + the OnModelCreating method on a derived DbContext class. + + + + + Adds metadata to the given model configuration. + + The model configuration. + + + + This convention uses the name of the derived + class as the container for the conceptual model built by + Code First. + + + + + Initializes a new instance of the class. + + The model container name. + + + + Applies the convention to the given model. + + The model. + + + + This convention uses the namespace of the derived + class as the namespace of the conceptual model built by + Code First. + + + + + Initializes a new instance of the class. + + The model namespace. + + + + Applies the convention to the given model. + + The model. + + + + Instances of this class are used internally to create constant expressions for + that are inserted into the expression tree to replace references to + and . + + The type of the element. + + + + Private constructor called by the Create factory method. + + The query. + + + + Factory method called by CreateDelegate to create an instance of this class. + + The query, which must be a generic object of the expected type. + A new instance. + + + + The public property expected in the LINQ expression tree. + + The query. + + + + Instances of this class are used to create DbConnection objects for + SQL Server Compact Edition based on a given database name or connection string. + + + It is necessary to provide the provider invariant name of the SQL Server Compact + Edition to use when creating an instance of this class. This is because different + versions of SQL Server Compact Editions use different invariant names. + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server Compact Edition by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString + properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + + Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties. + + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + The path to prepend to the database name that will form the file name used by SQL Server Compact Edition + when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use + its default for the database file location. + + + The connection string to use for options to the database other than the 'Data Source'. The Data Source will + be prepended to this string based on the database name when CreateConnection is called. + + + + + Creates a connection for SQL Server Compact Edition based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + The path to prepend to the database name that will form the file name used by + SQL Server Compact Edition when it creates or reads the database file. + The default value is "|DataDirectory|", which means the file will be placed + in the designated data directory. + + + + + The connection string to use for options to the database other than the 'Data Source'. + The Data Source will be prepended to this string based on the database name when + CreateConnection is called. + The default is the empty string, which means no other options will be used. + + + + + The provider invariant name that specifies the version of SQL Server Compact Edition + that should be used. + + + + + Instances of this class are used to create DbConnection objects for + SQL Server based on a given database name or connection string. By default, the connection is + made to '.\SQLEXPRESS'. This can be changed by changing the base connection + string when constructing a factory instance. + + + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with a default BaseConnectionString property of + 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'. + + + + + Creates a new connection factory with the given BaseConnectionString property. + + + The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will + be prepended to this string based on the database name when CreateConnection is called. + + + + + Creates a connection for SQL Server based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Remove hard dependency on DbProviderFactories. + + + + + The connection string to use for options to the database other than the 'Initial Catalog'. + The 'Initial Catalog' will be prepended to this string based on the database name when + CreateConnection is called. + The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'. + + + + + This attribute can be applied to either an entire derived class or to + individual or properties on that class. When applied + any discovered or properties will still be included + in the model but will not be automatically initialized. + + + + + Thrown when a context is generated from the templates in Database First or Model + First mode and is then used in Code First mode. + + + Code generated using the T4 templates provided for Database First and Model First use may not work + correctly if used in Code First mode. To use these classes with Code First please add any additional + configuration using attributes or the DbModelBuilder API and then remove the code that throws this + exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Implements ICachedMetadataWorkspace for a Code First model. + + + + + Represents an object that holds a cached copy of a MetadataWorkspace and optionally the + assemblies containing entity types to use with that workspace. + + + + + Gets the MetadataWorkspace, potentially lazily creating it if it does not already exist. + If the workspace is not compatible with the provider manifest obtained from the given + connection then an exception is thrown. + + The connection to use to create or check SSDL provider info. + The workspace. + + + + The list of assemblies that contain entity types for this workspace, which may be empty, but + will never be null. + + + + + The default container name for code first is the container name that is set from the DbModelBuilder + + + + + The provider info used to construct the workspace. + + + + + Builds and stores the workspace based on the given code first configuration. + + The code first EDM model. + + + + Gets the . + If the workspace is not compatible with the provider manifest obtained from the given + connection then an exception is thrown. + + The connection to use to create or check SSDL provider info. + The workspace. + + + + The default container name for code first is the container name that is set from the DbModelBuilder + + + + + The list of assemblies that contain entity types for this workspace, which may be empty, but + will never be null. + + + + + The provider info used to construct the workspace. + + + + + The methods here are called from multiple places with an ObjectContext that may have + been created in a variety of ways and ensure that the same code is run regardless of + how the context was created. + + + + + Used a delegate to do the actual creation once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + Note however that a context obtained from only a connection will have no model and so + will result in an empty database. + + + + + Used a delegate to do the actual existence check once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + + + + + Used a delegate to do the actual check/delete once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given set of entity types and DbSet initializer delegate. + + + + + The entity types part of the pair. + + + + + The DbSet properties initializer part of the pair. + + + + + Static helper methods only. + + + + + Checks whether the given value is null and throws ArgumentNullException if it is. + This method should only be used in places where Code Contracts are compiled out in the + release build but we still need public surface null-checking, such as where a public + abstract class is implemented by an internal concrete class. + + + + + Checks whether the given string is null, empty, or just whitespace, and throws appropriately + if the check fails. + This method should only be used in places where Code Contracts are compiled out in the + release build but we still need public surface checking, such as where a public + abstract class is implemented by an internal concrete class. + + + + + Given two key values that may or may not be byte arrays, this method determines + whether or not they are equal. For non-binary key values, this is equivalent + to Object.Equals. For binary keys, it is by comparison of every byte in the + arrays. + + + + + Provides a standard helper method for quoting identifiers + + Identifier to be quoted. Does not validate that this identifier is valid. + Quoted string + + + + Checks the given string which might be a database name or a connection string and determines + whether it should be treated as a name or connection string. Currently, the test is simply + whether or not the string contains an '=' character--if it does, then it should be treated + as a connection string. + + The name or connection string. + true if the string should be treated as a connection string; false if it should be treated as a name. + + + + Determines whether the given string should be treated as a database name directly (it contains no '='), + is in the form name=foo, or is some other connection string. If it is a direct name or has name=, then + the name is extracted and the method returns true. + + The name or connection string. + The name. + True if a name is found; false otherwise. + + + + Determines whether the given string is a full EF connection string with provider, provider connection string, + and metadata parts, or is is instead some other form of connection string. + + The name or connection string. + true if the given string is an EF connection string; otherwise, false. + + + + + Parses a property selector expression used for the expression-based versions of the Property, Collection, Reference, + etc methods on and + classes. + + The type of the entity. + The type of the property. + The property. + Name of the method. + Name of the param. + The property name. + + + + Called recursively to parse an expression tree representing a property path such + as can be passed to Include or the Reference/Collection/Property methods of . + This involves parsing simple property accesses like o => o.Products as well as calls to Select like + o => o.Products.Select(p => p.OrderLines). + + The expression to parse. + The expression parsed into an include path, or null if the expression did not match. + True if matching succeeded; false if the expression could not be parsed. + + + + Gets a cached dictionary mapping property names to property types for all the properties + in the given type. + + + + + Gets a dictionary of compiled property setter delegates for the underlying types. + The dictionary is cached for the type in the app domain. + + + + + Used by the property setter delegates to throw for attempts to set null onto + non-nullable properties or otherwise go ahead and set the property. + + + + + Gets a dictionary of compiled property getter delegates for the underlying types. + The dictionary is cached for the type in the app domain. + + + + + Creates a new with the NoTracking merge option applied. + The query object passed in is not changed. + + The query. + A new query with NoTracking applied. + + + + Converts to + + + Name of the property being validated with ValidationAttributes. Null for type-level validation. + + + ValidationResults instances to be converted to instances. + + + An created based on the + . + + + class contains a property with names of properties the error applies to. + On the other hand each applies at most to a single property. As a result for + each name in ValidationResult.MemberNames one will be created (with some + exceptions for special cases like null or empty .MemberNames or null names in the .MemberNames). + + + + + Calculates a "path" to a property. For primitive properties on an entity type it is just the + name of the property. Otherwise it is a dot separated list of names of the property and all + its ancestor properties starting from the entity. + + Property for which to calculate the path. + Dot separated path to the property. + + + + Gets names of the property and its ancestor properties as enumerable walking "bottom-up". + + Property for which to get the segments. + Names of the property and its ancestor properties. + + + + Gets an type for the given element type. + + Type of the element. + The collection type. + + + + Creates a database name given a type derived from DbContext. This handles nested and + generic classes. No attempt is made to ensure that the name is not too long since this + is provider specific. If a too long name is generated then the provider will throw and + the user must correct by specifying their own name in the DbContext constructor. + + Type of the context. + The database name to use. + + + + A local (in-memory) view of the entities in a DbSet. + This view contains Added entities and does not contain Deleted entities. The view extends + from and hooks up events between the collection and the + state manager to keep the view in sync. + + The type of the entity. + + + + Initializes a new instance of the class for entities + of the given generic type in the given internal context. + + The internal context. + + + + Called by the base class when the collection changes. + This method looks at the change made to the collection and reflects those changes in the + state manager. + + The instance containing the event data. + + + + Handles events from the state manager for entities entering, leaving, or being marked as deleted. + The local view is kept in sync with these changes. + + The sender. + The instance containing the event data. + + + + Clears the items by calling remove on each item such that we get Remove events that + can be tracked back to the state manager, rather than a single Reset event that we + cannot deal with. + + + + + Adds a contains check to the base implementation of InsertItem since we can't support + duplicate entities in the set. + + The index at which to insert. + The item to insert. + + + + Returns a cached binding list implementation backed by this ObservableCollection. + + The binding list. + + + + Service used to search for instance properties on a DbContext class that can + be assigned a DbSet instance. Also, if the the property has a public setter, + then a delegate is compiled to set the property to a new instance of DbSet. + All of this information is cached per app domain. + + + + + Creates a set discovery service for the given derived context. + + + + + Processes the given context type to determine the DbSet or IDbSet + properties and collect root entity types from those properties. Also, delegates are + created to initialize any of these properties that have public setters. + If the type has been processed previously in the app domain, then all this information + is returned from a cache. + + A dictionary of potential entity type to the list of the names of the properties that used the type. + + + + Calls the public setter on any property found to initialize it to a new instance of DbSet. + + + + + Registers the entities and their entity set name hints with the given . + + The model builder. + + + + Returns false if SuppressDbSetInitializationAttribute is found on the property or the class, otherwise + returns true. + + + + + Determines whether or not an instance of DbSet/ObjectSet can be assigned to a property of the given type. + + The type to check. + The entity type of the DbSet/ObjectSet that can be assigned, or null if no set type can be assigned. + + + + + A EagerInternalConnection object wraps an already existing DbConnection object. + + + + + InternalConnection objects manage DbConnections. + Two concrete base classes of this abstract interface exist: + and . + + + + + IInternalConnection objects manage DbConnections. + Two concrete implementations of this interface exist--LazyInternalConnection and EagerInternalConnection. + + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Returns the underlying DbConnection. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if the connection contains model info; otherwise, false. + + + + Returns the origin of the underlying connection string. + + + + + Gets or sets an object representing a config file used for looking for DefaultConnectionFactory entries + and connection strins. + + + + + Gets or sets the provider to be used when creating the underlying connection. + + + + + Gets the name of the underlying connection string. + + + + + Gets the original connection string. + + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Called after the connection is initialized for the first time. + + + + + Adds a tracking cookie to the connection string for SqlConnections. Returns the + possibly modified store connection string. + + + + + Returns the underlying DbConnection. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if the connection contains model info; otherwise, false. + + + + Returns the origin of the underlying connection string. + + + + + Gets or sets an object representing a config file used for looking for DefaultConnectionFactory entries + and connection strins. + + + + + Gets or sets the provider to be used when creating the underlying connection. + + + + + Gets the name of the underlying connection string. + + + + + Gets the original connection string. + + + + + Gets or sets the underlying object. No initialization is done when the + connection is obtained, and it can also be set to null. + + The underlying connection. + + + + Creates a new EagerInternalConnection that wraps an existing DbConnection. + + An existing connection. + If set to true then the underlying connection should be disposed when this object is disposed. + + + + Dispose the existing connection is the original caller has specified that it should be disposed + by the framework. + + + + + Returns the origin of the underlying connection string. + + + + + An is an where the + instance that it wraps is set immediately at construction time rather than being created lazily. In this case + the internal context may or may not own the instance but will only dispose it + if it does own it. + + + + + An underlies every instance of and wraps an + instance. + The also acts to expose necessary information to other parts of the design in a + controlled manner without adding a lot of internal methods and properties to the + class itself. + Two concrete classes derive from this abstract class - and + . + + + + + Initializes the object with its owner. + + The owner . + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Creates a new temporary based on the same metadata and connection as the real + and sets it as the context to use DisposeTempObjectContext is called. + This allows this internal context and its DbContext to be used for transient operations + such as initializing and seeding the database, after which it can be thrown away. + This isolates the real from any changes made and and saves performed. + + + + + If a temporary ObjectContext was set with UseTempObjectContext, then this method disposes that context + and returns this internal context and its DbContext to using the real ObjectContext. + + + + + Called by methods of to create a database either using the Migrations pipeline + if possible and the core provider otherwise. + + The context to use for core provider calls. + + + + Internal implementation of . + + True if the model hash in the context and the database match; false otherwise. + + + + Checks whether the given model (an EDMX document) matches the current model. + + + + + Queries the database for a model hash and returns it if found or returns null if the table + or the row doesn't exist in the database. + + The model hash, or null if not found. + + + + Queries the database for a model stored in the MigrationHistory table and returns it as an EDMX, or returns + null if the database does not contain a model. + + + + + Saves the model hash from the context to the database. + + + + + Performs the initialization action that may result in a and + handle the exception to provide more meaning to the user. + + The action. + + + + Registers for the ObjectStateManagerChanged event on the underlying ObjectStateManager. + This is a virtual method on this class so that it can be mocked. + + The event handler. + + + + Checks whether or not the given object is in the context in any state other than Deleted. + This is a virtual method on this class so that it can be mocked. + + The entity. + true if the entity is in the context and not deleted; otherwise false. + + + + Saves all changes made in this context to the underlying database. + + The number of objects written to the underlying database. + + + + Initializes this instance, which means both the context is initialized and the underlying + database is initialized. + + + + + Initializes the underlying ObjectContext but does not cause the database to be initialized. + + + + + Marks the database as having not been initialized. This is called when the app calls Database.Delete so + that the database if the app attempts to then use the database again it will be re-initialized automatically. + + + + + Runs the unless it has already been run or there + is no initializer for this context type in which case this method does nothing. + + + + + Marks the database as having been initialized without actually running the . + + + + + Runs the if one has been set for this context type. + Calling this method will always cause the initializer to run even if the database is marked + as initialized. + + + + + Disposes the context. Override the DisposeContext method to perform + additional work when disposing. + + + + + Performs additional work to dispose a context. + + + + + Calls DetectChanges on the underlying if AutoDetectChangesEnabled is + true or if force is set to true. + + if set to true then DetectChanges is called regardless of the value of AutoDetectChangesEnabled. + + + + Returns the DbSet instance for the given entity type. + This property is virtual and returns to that it can be mocked. + + The entity type for which a set should be returned. + A set for the given entity type. + + + + Returns the non-generic instance for the given entity type. + This property is virtual and returns to that it can be mocked. + + The entity type for which a set should be returned. + A set for the given entity type. + + + + Creates an internal set using an app domain cached delegate. + + Type of the entity. + The set. + + + + Returns the entity set and the base type for that entity set for the given type. + This method does o-space loading if required and throws if the type is not in the model. + + The entity type to lookup. + The entity set and base type pair. + + + + Returns the entity set and the base type for that entity set for the given type if that + type is mapped in the model, otherwise returns null. + This method does o-space loading if required. + + The entity type to lookup. + The entity set and base type pair, or null if not found. + + + + Checks whether or not the given entity type is mapped in the model. + + The entity type to lookup. + True if the type is mapped as an entity; false otherwise. + + + + Gets the local entities of the type specified from the state manager. That is, all + Added, Modified, and Unchanged entities of the given type. + + The type of entity to get. + The entities. + + + + Executes the given SQL query against the database backing this context. The results are not materialized as + entities or tracked. + + The type of the element. + The SQL. + The parameters. + The query results. + + + + Executes the given SQL query against the database backing this context. The results are not materialized as + entities or tracked. + + Type of the element. + The SQL. + The parameters. + The query results. + + + + Calls the generic ExecuteSqlQuery but with a non-generic return type so that it + has the correct signature to be used with CreateDelegate above. + + + + + Executes the given SQL command against the database backing this context. + + The SQL. + The parameters. + The return value from the database. + + + + Gets the underlying for the given entity, or returns null if the entity isn't tracked by this context. + This method is virtual so that it can be mocked. + + The entity. + The state entry or null. + + + + Gets the underlying objects for all entities tracked by + this context. + This method is virtual so that it can be mocked. + + State entries for all tracked entities. + + + + Gets the underlying objects for all entities of the given + type tracked by this context. + This method is virtual so that it can be mocked. + + The type of the entity. + State entries for all tracked entities of the given type. + + + + Helper method that gets the underlying objects for all entities that + match the given predicate. + + + + + Wraps the given in either a or + a depending on the actual exception type and the state + entries involved. + + The update exception. + A new exception wrapping the given exception. + + + + Uses the underlying context to create an entity such that if the context is configured + to create proxies and the entity is suitable then a proxy instance will be returned. + This method is virtual so that it can be mocked. + + The type of the entity. + The new entity instance. + + + + Uses the underlying context to create an entity such that if the context is configured + to create proxies and the entity is suitable then a proxy instance will be returned. + This method is virtual so that it can be mocked. + + The type of entity to create. + The new entity instance. + + + + This method is used by CreateDelegate to transform the CreateObject method with return type TEntity + into a method with return type object which matches the required type of the delegate. + + + + + Replaces the connection that will be used by this context. + The connection can only be changed before the context is initialized. + + The new connection. + + + + Throws if the context has been disposed. + + + + + Checks whether or not the internal cache of types to entity sets has been initialized, + and initializes it if necessary. + + + + + Forces all DbSets to be initialized, which in turn causes o-space loading to happen + for any entity type for which we have a DbSet. This includes all DbSets that were + discovered on the user's DbContext type. + + + + + Performs o-space loading for the type and returns false if the type is not in the model. + + + + + Performs o-space loading for the type and throws if the type is not in the model. + + Type of the entity. + + + + Returns true if the given entity type does not have EdmEntityTypeAttribute but is in + an assembly that has EdmSchemaAttribute. This indicates mixing of POCO and EOCO in the + same assembly, which is something that we don't support. + + + + + Determines whether or not the given clrType is mapped to a complex type. Assumes o-space loading has happened. + + + + + Updates the cache of types to entity sets either for the first time or after potentially + doing some o-space loading. + + + + + The public context instance that owns this internal context. + + + + + Returns the underlying . + + + + + Gets the temp object context, or null if none has been set. + + The temp object context. + + + + The compiled model created from the Code First pipeline, or null if Code First was + not used to create this context. + Causes the Code First pipeline to be run to create the model if it has not already been + created. + + + + + Set to true when a database initializer is performing some actions, such as creating or deleting + a database, or seeding the database. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + Gets or sets a value indicating whether lazy loading is enabled. + + + + + Gets or sets a value indicating whether proxy creation is enabled. + + + + + Gets or sets a value indicating whether DetectChanges is called automatically in the API. + + + + + Gets or sets a value indicating whether to validate entities when is called. + + + + + True if the context has been disposed. + + + + + The connection underlying this context. Accessing this property does not cause the context + to be initialized, only its connection. + + + + + The connection string as originally applied to the context. This is used to perform operations + that need the connection string in a non-mutated form, such as with security info still intact. + + + + + Returns the origin of the underlying connection string. + + + + + Gets or sets an object representing a config file used for looking for DefaultConnectionFactory entries, + database intializers and connection strings. + + + + + Gets or sets the provider details to be used when building the EDM model. + + + + + Gets the name of the underlying connection string. + + + + + Gets the provider name bsing used either using a cached value or getting it from + the DbConnection in use. + + + + + Gets or sets a custom OnModelCreating action. + + + + + Gets the DatabaseOperations instance to use to perform Create/Delete/Exists operations + against the database. + Note that this virtual property can be mocked to help with unit testing. + + + + + Gets instance used to create validators and validation contexts. + This property is virtual to allow mocking. + + + + + For mocking. + + + + + Constructs an for an already existing . + + The owner . + The existing . + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Does nothing, since the already exists. + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Disposes the context. The underlying is also disposed if it is owned. + + + + + + + + Returns the underlying . + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + The connection underlying this context. + + + + + The connection string as originally applied to the context. This is used to perform operations + that need the connection string in a non-mutated form, such as with security info still intact. + + + + + Returns the origin of the underlying connection string. + + + + + Gets or sets a value indicating whether lazy loading is enabled. This is just a wrapper + over the same flag in the underlying . + + + + + Gets or sets a value indicating whether proxy creation is enabled. This is just a wrapper + over the same flag in the underlying ObjectContext. + + + + + An implementation of that represents a clone of another + dictionary. That is, all the property values have been been copied into this dictionary. + + + + + The internal class used to implement . + This internal class allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal context with which the entity of complex object is associated. + The type of the entity or complex object. + If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object. + + + + Implemented by subclasses to get the dictionary item for a given property name. + Checking that the name is valid should happen before this method is called such + that subclasses do not need to perform the check. + + Name of the property. + An item for the given name. + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Creates an instance of the underlying type for this dictionary, which may either be an entity type (in which + case CreateObject on the context is used) or a non-entity type (in which case the empty constructor is used.) + In either case, app domain cached compiled delegates are used to do the creation. + + + + + Sets the values of this dictionary by reading values out of the given object. + The given object must be of the type that this dictionary is based on. + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the dictionary item for the property with the given name. + This method checks that the given name is valid. + + The property name. + The item. + + + + Sets the value of the property only if it is different from the current value and is not + an invalid attempt to set a complex property. + + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the entity type of complex type that this dictionary is based on. + + The type of the object underlying this dictionary. + + + + Gets the internal context with which the underlying entity or complex type is associated. + + The internal context. + + + + Gets a value indicating whether the object for this dictionary is an entity or a complex object. + + true if this this is a dictionary for an entity; false if it is a dictionary for a complex object. + + + + Initializes a new instance of the class by copying + values from the given dictionary. + + The dictionary to clone. + If non-null, then the values for the new dictionary are taken from this record rather than from the original dictionary. + + + + Gets the dictionary item for a given property name. + + Name of the property. + An item for the given name. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + An implementation of for an item in a . + + + + + Represents an item in an representing a property name/value. + + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + true If this instance represents a complex property; otherwise, false. + + + + Gets the type of the underlying property. + + The property type. + + + + Initializes a new instance of the class. + + The name. + The value. + The type. + If set to true this item represents a complex property. + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + + true If this instance represents a complex property; otherwise, false. + + + + + Gets the type of the underlying property. + + The property type. + + + + An implementation of that is based on an existing + instance. + + + + + Initializes a new instance of the class. + + The internal context. + The type. + The data record. + If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object. + + + + Gets the dictionary item for a given property name. + + Name of the property. + An item for the given name. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + An implementation of for an item in a . + + + + + Initializes a new instance of the class. + + The data record. + The ordinal. + The value. + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + + true If this instance represents a complex property; otherwise, false. + + + + + Gets the type of the underlying property. + + The property type. + + + + This is version of an internal interface that already exists in System.Data.Entity that + is implemented by . Using this interface allows state + entries to be mocked for unit testing. The plan is to remove this version of the + interface and use the one in System.Data.Entity once we roll into the framework. + Note that some members may need to be added to the interface in the framework when + we combine the two. + + + + + The internal class used to implement and + . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Base class for and + containing common code for collection and reference navigation property entries. + + + + + Base class for all internal entries that represent different kinds of properties. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The member metadata. + + + + Validates this property. + + A sequence of validation errors for this property. Empty if no errors. Never null. + + + + Creates a new non-generic backed by this internal entry. + The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry. + + The type of the entity. + The type of the property. + The new entry. + + + + Gets the property name. + The property is virtual to allow mocking. + + The property name. + + + + Gets or sets the current value of the navigation property. + + The current value. + + + + Gets the internal entity entry property belongs to. + This property is virtual to allow mocking. + + The internal entity entry. + + + + Gets the entry metadata. + + The entry metadata. + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Calls Load on the underlying . + + + + + Uses CreateSourceQuery on the underlying to create a query for this + navigation property. + + + + + Gets the navigation property value from the object. + + The entity. + The navigation property value. + + + + Validates that the owning entity entry is associated with an underlying and + is not just wrapping a non-attached entity. + If the entity is not detached, then the RelatedEnd for this navigation property is obtained. + + + + + Calls IsLoaded on the underlying . + + + + + Gets the related end, which will be null if the entity is not being tracked. + + The related end. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + This property is virtual so that it can be mocked. + + The current value. + + + + Gets a delegate that can be used to get the value of the property directly from the entity. + Returns null if the property does not have an accessible getter. + + The getter delegate, or null. + + + + Gets a delegate that can be used to set the value of the property directly on the entity. + Returns null if the property does not have an accessible setter. + + The setter delegate, or null. + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Gets the navigation property value from the object. + Since for a collection the related end is an , it means + that the internal representation of the navigation property is just the related end. + + The entity. + The navigation property value. + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Creates a new generic backed by this internal entry. + The actual subtype of the DbCollectionEntry created depends on the metadata of this internal entry. + + The type of the entity. + The type of the element. + The new entry. + + + + Creates a object for the given entity type + and collection element type. + + The type of the entity. + The type of the property. + Type of the element. + The set. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + + The current value. + + + + The internal class used to implement + and . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal context. + The state entry. + + + + Initializes a new instance of the class for an + entity which may or may not be attached to the context. + + The internal context. + The entity. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + + The store values. + + + + Appends a query for the properties in the entity to the given string builder that is being used to + build the eSQL query. This method may be called recursively to query for all the sub-properties of + a complex property. + + The query builder. + The qualifier with which to prefix each property name. + The dictionary that acts as a template for the properties to query. + + + + Validates that a dictionary can be obtained for the state of the entity represented by this entry. + + The method name being used to request a dictionary. + The state that is invalid for the request being processed. + + + + Calls Refresh with StoreWins on the underlying state entry. + + + + + Gets an internal object representing a reference navigation property. + This method is virtual to allow mocking. + + The navigation property. + The type of entity requested, which may be 'object' or null if any type can be accepted. + The entry. + + + + Gets an internal object representing a collection navigation property. + This method is virtual to allow mocking. + + The navigation property. + The type of entity requested, which may be 'object' or null f any type can be accepted. + The entry. + + + + Gets an internal object representing a navigation, scalar, or complex property. + This method is virtual to allow mocking. + + Name of the property. + The type of entity requested, which may be 'object' if any type can be accepted. + The entry. + + + + Gets an internal object representing a scalar or complex property. + This method is virtual to allow mocking. + + The property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Gets an internal object representing a scalar or complex property. + The property may be a nested property on the given . + + The parent property entry, or null if this is a property directly on the entity. + Name of the property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Gets an internal object representing a scalar or complex property. + The property may be a nested property on the given . + + The parent property entry, or null if this is a property directly on the entity. + Name of the property. + The property split out into its parts. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Checks that the given property name is a navigation property and is either a reference property or + collection property according to the value of requireCollection. + + + + + Gets metadata for the given property if that property is a navigation property or returns null + if it is not a navigation property. + + Name of the property. + Navigation property metadata or null. + + + + Gets the type of entity or entities at the target end of the given navigation property. + + The navigation property. + The CLR type of the entity or entities at the other end. + + + + Gets the related end for the navigation property with the given name. + + The navigation property. + + + + + Uses EDM metadata to validate that the property name exists in the model and represents a scalar or + complex property or exists in the CLR type. + This method is public and virtual so that it can be mocked. + + The property name. + The type on which the property is declared. + The type of object requested, which may be 'object' if any type can be accepted. + Metadata for the property. + + + + Splits the given property name into parts delimited by dots. + + Name of the property. + The parts of the name. + + + + Validates that this entry is associated with an underlying and + is not just wrapping a non-attached entity. + + + + + Validates entity represented by this entity entry. + This method is virtual to allow mocking. + + User defined dictionary containing additional info for custom validation. This parameter is optional and can be null. + containing validation result. Never null. + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the tracked entity. + This property is virtual to allow mocking. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + This property is virtual to allow mocking. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + This property is virtual to allow mocking. + + The original values. + + + + Checks whether or not this entry is associated with an underlying or + is just wrapping a non-attached entity. + + + + + Gets the type of the entity being tracked. + + The type of the entity. + + + + Gets the c-space entity type for this entity from the EDM. + + + + + Gets the underlying object state entry. + + + + + Gets the internal context. + + The internal context. + + + + A concrete implementation of used for properties of entities. + + + + + The internal class used to implement and + . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal entry. + The property info. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. If this is a property of an entity, then this method returns + true if the property is modified. If this is a property of a complex object, then + this method returns true if the top-level complex property on the entity is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + If this is a property of an entity, then this method marks it as modified. + If this is a property of a complex object, then this method marks the top-level + complex property as modified. + + + + + Rejects changes to this property. + If this is a property of a complex object, then this method rejects changes to the top-level + complex property. + + + + + Walks the tree from a property of a complex property back up to the top-level + complex property and then checks whether or not DetectChanges still considers + the complex property to be modified. If it does not, then the complex property + is marked as Unchanged. + + + + + Throws if the user attempts to set a complex property to null. + + The value. + + + + Sets the given value directly onto the underlying entity object. + + The value. + True if the property had a setter that we could attempt to call; false if no setter was available. + + + + Sets the property value, potentially by setting individual nested values for a complex + property. + + The value. + + + + Gets an internal object representing a scalar or complex property of this property, + which must be a mapped complex property. + This method is virtual to allow mocking. + + The property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Validates that the owning entity entry is associated with an underlying and + is not just wrapping a non-attached entity. + + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent entity or complex property. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent entity or complex property. + That is, the original values that contains the value for this property. + + The parent original values. + + + + A delegate that reads the value of this property. + May be null if there is no way to set the value due to missing accessors on the type. + + + + + A delegate that sets the value of this property. + May be null if there is no way to set the value due to missing accessors on the type. + + + + + Gets or sets the original value. + Note that complex properties are returned as objects, not property values. + + + + + Gets or sets the current value. + Note that complex properties are returned as objects, not property values. + Also, for complex properties, the object returned is the actual complex object from the entity + and setting the complex object causes the actual object passed to be set onto the entity. + + The current value. + + + + Gets or sets a value indicating whether this property is modified. + + + + + Gets the property metadata. + + The property metadata. + + + + Initializes a new instance of the class. + + The internal entry. + The property info. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. Since this is a property of an entity this method returns + true if the property is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + Since this is a property of an entity this method marks it as modified. + + + + + Rejects changes to this property. + + + + + Walks the tree from a property of a complex property back up to the top-level + complex property and then checks whether or not DetectChanges still considers + the complex property to be modified. If it does not, then the complex property + is marked as Unchanged. + + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent entity. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent entity. + That is, the original values that contains the value for this property. + + The parent original values. + + + + A concrete implementation of used for properties of complex objects. + + + + + Initializes a new instance of the class. + + The parent property entry. + The property metadata. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. Since this is a property of a complex object + this method returns true if the top-level complex property on the entity is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + Since this is a property of a complex object this method marks the top-level + complex property as modified. + + + + + Rejects changes to this property. + Since this is a property of a complex object this method rejects changes to the top-level + complex property. + + + + + Walks the tree from a property of a complex property back up to the top-level + complex property and then checks whether or not DetectChanges still considers + the complex property to be modified. If it does not, then the complex property + is marked as Unchanged. + + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent complex property. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent complex property. + That is, the original values that contains the value for this property. + + The parent original values. + + + + The internal class used to implement , + and . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Gets the navigation property value from the object. + For reference navigation properties, this means getting the value from the + object. + + The entity. + The navigation property value. + + + + Sets the navigation property value onto the object. + For reference navigation properties, this means setting the value onto the + object. + + The entity. + The value. + + + + Sets the given value on the given which must be an + . + This method is setup in such a way that it can easily be used by CreateDelegate without any + dynamic code generation needed. + + The type of the related entity. + The entity reference. + The value. + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + + The current value. + + + + Contains metadata about a member of an entity type or complex type. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry if the new entry is nested, otherwise null. + The new entry. + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets the name of the property. + + The name. + + + + Gets the type of the entity or complex object that on which the member is declared. + + The type that the member is declared on. + + + + Gets the type of element for the property, which for non-collection properties + is the same as the MemberType and which for collection properties is the type + of element contained in the collection. + + The type of the element. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + The types of member entries supported. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + if set to true this is a collection nav prop. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry which will always be null for navigation entries. + The new entry. + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + Contains metadata for a property of a complex object or entity. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + if set to true the property is mapped in the EDM. + if set to true the property is a complex property. + + + + Validates that the given name is a property of the declaring type (either on the CLR type or in the EDM) + and that it is a complex or scalar property rather than a nav property and then returns metadata about + the property. + + The internal context. + The type that the property is declared on. + The type of property requested, which may be 'object' if any type can be accepted. + Name of the property. + Metadata about the property, or null if the property does not exist or is a navigation property. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry if the new entry is nested, otherwise null. + The new entry. + + + + Gets a value indicating whether this is a complex property. + That is, not whether or not this is a property on a complex object, but rather if the + property itself is a complex property. + + + true if this instance is complex; otherwise, false. + + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets a value indicating whether this instance is mapped in the EDM. + + true if this instance is mapped; otherwise, false. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + An implementation of that wraps an existing set but makes + it read-only. + + + + + + Initializes a new instance of the class wrapped around + another existing set. + + The existing set. + + + + This is a temporary adapter class that wraps an and + presents it as an . This class will be removed once + we roll into the System.Data.Entity assembly. See + for more details. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given EntitySet and BaseType. + + + + + The EntitySet part of the pair. + + + + + The BaseType part of the pair. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given database initializer delegate and a flag + indicating whether or not it is locked. + + + + + The initializer delegate. + + + + + A flag indicating whether or not the initializer is locked and should not be changed. + + + + + Represents a raw SQL query against the context for any type where the results are never + associated with an entity set and are never tracked. + + + + + Represents a raw SQL query against the context that may be for entities in an entity set + or for some other non-entity element type. + + + + + Initializes a new instance of the class. + + The SQL. + The parameters. + + + + If the query is would track entities, then this method returns a new query that will + not track entities. + + A no-tracking query. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Gets the SQL query string, + + The SQL query. + + + + Gets the parameters. + + The parameters. + + + + Returns false. + + false. + + + + Initializes a new instance of the class. + + The internal context. + Type of the element. + The SQL. + The parameters. + + + + Returns this query since it can never be a tracking query. + + This instance. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Generic wrapper around to allow results to be + returned as generic + + The type of the element. + + + + Executes the query and returns an enumerator for the elements. + + An + + object that can be used to iterate through the elements. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Returns false. + + false. + + + + Represents a raw SQL query against the context for entities in an entity set. + + + + + Initializes a new instance of the class. + + The set. + The SQL. + if set to true then the entities will not be tracked. + The parameters. + + + + If the query is would track entities, then this method returns a new query that will + not track entities. + + A no-tracking query. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Gets a value indicating whether this instance is set to track entities or not. + + + true if this instance is no-tracking; otherwise, false. + + + + + A LazyInternalConnection object manages information that can be used to create a DbConnection object and + is responsible for creating that object and disposing it. + + + + + Creates a new LazyInternalConnection using convention to calculate the connection. + The DbConnection object will be created lazily on demand and will be disposed when the LazyInternalConnection is disposed. + + Either the database name or a connection string. + + + + Creates a new LazyInternalConnection targeting a specific database. + The DbConnection object will be created lazily on demand and will be disposed when the LazyInternalConnection is disposed. + + The connection to target. + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Disposes the underlying DbConnection. + Note that dispose actually puts the LazyInternalConnection back to its initial state such that + it can be used again. + + + + + + Searches the app.config/web.config file for a connection that matches the given name. + The connection might be a store connection or an EF connection. + + The connection name. + + True if a connection from the app.config file was found and used. + + + + Attempts to locate a connection entry in the configuration based on the supplied context name. + + The name to search for. + The configuration to search in. + Connection string if found, otherwise null. + + + + Initializes the connection based on a connection string. + + The settings to initialize from. + + + + Returns the underlying DbConnection, creating it first if it does not already exist. + + + + + Returns the origin of the underlying connection string. + + + + + Gets the name of the underlying connection string. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if connection contain model info; otherwise, false. + + + + Gets a value indicating if the lazy connection has been initialized. + + + + + A is a concrete type that will lazily create the + underlying when needed. The created is owned by the + internal context and will be disposed when the internal context is disposed. + + + + + Constructs a for the given owner that will be initialized + on first use. + + The owner . + Responsible for creating a connection lazily when the context is used for the first time. + The model, or null if it will be created by convention + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Saves all changes made in this context to the underlying database, but only if the + context has been initialized. If the context has not been initialized, then this + method does nothing because there is nothing to do; in particular, it does not + cause the context to be initialized. + + The number of objects written to the underlying database. + + + + Disposes the context. The underlying is also disposed. + The connection to the database ( object) is also disposed if it was created by + the context, otherwise it is not disposed. + + + + + + + + Initializes the underlying . + + + + + Creates an immutable, cacheable representation of the model defined by this builder. + This model can be used to create an or can be passed to a + constructor to create a for this model. + + + + + + Creates and configures the instance that will be used to build the + . + + The builder. + + + + Marks the database as having not been initialized. This is called when the app calls Database.Delete so + that the database if the app attempts to then use the database again it will be re-initialized automatically. + + + + + Marks the database as having been initialized without actually running the . + + + + + Runs the unless it has already been run or there + is no initializer for this context type in which case this method does nothing. + + + + + Performs some action (which may do nothing) in such a way that it is guaranteed only to be run + once for the model and connection in this app domain, unless it fails by throwing an exception, + in which case it will be re-tried next time the context is initialized. + + The action. + + + + Returns the underlying . + + + + + The compiled model created from the Code First pipeline, or null if Code First was + not used to create this context. + Causes the Code First pipeline to be run to create the model if it has not already been + created. + + + + + The actually being used, which may be the + temp context for initialization or the real context. + + + + + The connection underlying this context. Accessing this property does not cause the context + to be initialized, only its connection. + + + + + The connection string as originally applied to the context. This is used to perform operations + that need the connection string in a non-mutated form, such as with security info still intact. + + + + + Returns the origin of the underlying connection string. + + + + + Gets or sets an object representing a config file used for looking for DefaultConnectionFactory entries + and connection strings. + + + + + Gets the name of the underlying connection string. + + + + + Gets or sets the provider details to be used when building the EDM model. + + + + + + + + Gets or sets a custom OnModelCreating action. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + Gets or sets a value indicating whether lazy loading is enabled. + If the exists, then this property acts as a wrapper over the flag stored there. + If the has not been created yet, then we store the value given so we can later + use it when we create the . This allows the flag to be changed, for example in + a DbContext constructor, without it causing the to be created. + + + + + Gets or sets a value indicating whether proxy creation is enabled. + If the ObjectContext exists, then this property acts as a wrapper over the flag stored there. + If the ObjectContext has not been created yet, then we store the value given so we can later + use it when we create the ObjectContext. This allows the flag to be changed, for example in + a DbContext constructor, without it causing the ObjectContext to be created. + + + + + A wrapping query provider that performs expression transformation and then delegates + to the provider. The objects returned are always instances + of . This provider is associated with generic objects. + + + + + Creates a provider that wraps the given provider. + + The provider to wrap. + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a . + + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a where T is determined + from the element type of the ObjectQuery. + + + + + By default, calls the same method on the wrapped provider. + + + + + By default, calls the same method on the wrapped provider. + + + + + Creates an appropriate generic IQueryable using Reflection and the underlying ElementType of + the given ObjectQuery. + + + + + Performs expression replacement and then delegates to the wrapped provider to create an + . + + + + + Wraps the given as a where T is determined + from the element type of the ObjectQuery. + + + + + Gets the internal context. + + The internal context. + + + + A LINQ expression visitor that finds uses with equivalent + instances. + + + + + Replaces calls to DbContext.Set() with an expression for the equivalent . + + The node to replace. + A new node, which may have had the replacement made. + + + + Replaces a or property with a constant expression + for the underlying . + + The node to replace. + A new node, which may have had the replacement made. + + + + Processes the fields in each constant expression and replaces instances with + the underlying ObjectQuery instance. This handles cases where the query has a closure + containing values. + + + + + Gets a value from the given member, or returns null + if the member doesn't contain a DbContext instance. + + The expression for the object for the member, which may be null for a static member. + The member. + The context or null. + + + + Gets the instance from the given instance or static member, returning null + if the member does not contain a DbContext instance. + + The member. + The value of the object to get the instance from, or null if the member is static. + The context instance or null. + + + + Takes a or and creates an expression + for the underlying . + + + + + Takes a or and extracts the underlying . + + + + + A non-generic interface implemented by that allows operations on + any query object without knowing the type to which it applies. + + + + + An interface implemented by . + + The type of the element. + + + + A non-generic interface implemented by that allows operations on + any set object without knowing the type to which it applies. + + + + + An interface implemented by . + + + + + An instance of this internal class is created whenever an instance of the public + class is needed. This allows the public surface to be non-generic, while the runtime type created + still implements . + + The type of the element. + + + + Creates a new query that will be backed by the given internal query object. + + The backing query. + + + + See comments in . + + + + + See comments in . + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the underlying internal query object. + + The internal query. + + + + An instance of this internal class is created whenever an instance of the public + class is needed. This allows the public surface to be non-generic, while the runtime type created + still implements . + + The type of the entity. + + + + Creates a new set that will be backed by the given internal set. + + The internal set. + + + + Creates an instance of this class. This method is used with CreateDelegate to cache a delegate + that can create a generic instance without calling MakeGenericType every time. + + + The internal set to wrap, or null if a new internal set should be created. + The set. + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the underlying internal query object. + + The internal query. + + + + Gets the underlying internal set. + + The internal set. + + + + See comments in . + + + + + An InternalQuery underlies every instance of DbSet and DbQuery. It acts to lazily initialize a InternalContext as well + as an ObjectQuery and EntitySet the first time that it is used. The InternalQuery also acts to expose necessary + information to other parts of the design in a controlled manner without adding a lot of internal methods and + properties to the DbSet and DbQuery classes themselves. + + The type of entity to query for. + + + + Creates a new query that will be backed by the given InternalContext. + + The backing context. + + + + Creates a new internal query based on the information in an existing query together with + a new underlying ObjectQuery. + + + + + Resets the query to its uninitialized state so that it will be re-lazy initialized the next + time it is used. This allows the ObjectContext backing a DbContext to be switched out. + + + + + Updates the underlying ObjectQuery with the given include path. + + The include path. + A new query containing the defined include path. + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that the query can be used. + + + + + Returns a representation of the underlying query, equivalent + to ToTraceString on ObjectQuery. + + + The query string. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + The underlying InternalContext. + + + + + The underlying ObjectQuery. + + + + + The underlying ObjectQuery. + + + + + The LINQ query expression. + + + + + The LINQ query provider for the underlying . + + + + + The IQueryable element type. + + + + + Creates a new query that will be backed by the given InternalContext. + + The backing context. + + + + Resets the set to its uninitialized state so that it will be re-lazy initialized the next + time it is used. This allows the ObjectContext backing a DbContext to be switched out. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Finds an entity in the state manager with the given primary key values, or returns null + if no such entity can be found. This includes looking for Added entities with the given + key values. + + + + + Finds an entity in the store with the given primary key values, or returns null + if no such entity can be found. This code is adapted from TryGetObjectByKey to + include type checking in the query. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + This method is virtual so that it can be mocked. + + The entity to attach. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + This method is virtual so that it can be mocked. + + The entity to add. + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + This method is virtual so that it can be mocked. + + The entity to remove. + + + + This method checks whether an entity is already in the context. If it is, then the state + is changed to the new state given. If it isn't, then the action delegate is executed to + either Add or Attach the entity. + + A delegate to Add or Attach the entity. + The new state to give the entity if it is already in the context. + The entity. + Name of the method. + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that the query can be used. + This method is virtual so that it can be mocked. + + + + + Attempts to perform lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that o-space loading has happened and the query can be used. This method doesn't throw if the type + for the set is not mapped. + + + + + Creates an underlying for this set. + + if set to true then the query is set to be no-tracking. + The query. + + + + Returns a representation of the underlying query, equivalent + to ToTraceString on ObjectQuery. + + + The query string. + + + + + Updates the underlying ObjectQuery with the given include path. + + The include path. + A new query containing the defined include path. + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Executes the given SQL query against the database materializing entities into the entity set that + backs this set. + + The SQL quey. + if true then the entities are not tracked, otherwise they are. + The parameters. + The query results. + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the ObservableCollection representing the local view for the set based on this query. + + + + + The underlying ObjectQuery. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet name. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet name, quoted for ESQL. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet. Accessing this property will trigger lazy initialization of the query. + + + + + The base type for the underlying entity set. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying InternalContext. Accessing this property will trigger lazy initialization of the query. + + + + + The LINQ query expression. + + + + + The LINQ query provider for the underlying . + + + + + A wrapping query provider that performs expression transformation and then delegates + to the provider. The objects returned + are always instances of when the generic CreateQuery method is + used and are instances of when the non-generic CreateQuery method + is used. This provider is associated with non-generic objects. + + + + + Creates a provider that wraps the given provider. + + The provider to wrap. + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a . + + + + + Delegates to the wrapped provider except returns instances of . + + + + + Creates an appropriate generic IQueryable using Reflection and the underlying ElementType of + the given ObjectQuery. + + + + + Extends to create a sortable binding list that stays in + sync with an underlying . That is, when items are added + or removed from the binding list, they are added or removed from the ObservableCollecion, and + vice-versa. + + The list element type. + + + + An extended BindingList implementation that implements sorting. + This class was adapted from the LINQ to SQL class of the same name. + + The element type. + + + + Initializes a new instance of the class with the + the given underlying list. Note that sorting is dependent on having an actual + rather than some other ICollection implementation. + + The list. + + + + Applies sorting to the list. + + The property to sort by. + The sort direction. + + + + Stops sorting. + + + + + Gets a value indicating whether this list is sorted. + + + true if this instance is sorted; otherwise, false. + + + + + Gets the sort direction. + + The sort direction. + + + + Gets the sort property being used to sort. + + The sort property. + + + + Returns true indicating that this list supports sorting. + + true. + + + + Implements comparing for the implementation. + + + + + Initializes a new instance of the class + for sorting the list. + + The property to sort by. + The sort direction. + + + + Compares two instances of items in the list. + + The left item to compare. + The right item to compare. + + + + + Determines whether this instance can sort for the specified type. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Determines whether this instance can sort for the specified type using IComparable. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Determines whether this instance can sort for the specified type using ToString. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Initializes a new instance of a binding list backed by the given + + The obervable collection. + + + + Creates a new item to be added to the binding list. + + The new item. + + + + Cancels adding of a new item that was started with AddNew. + + Index of the item. + + + + Removes all items from the binding list and underlying ObservableCollection. + + + + + Ends the process of adding a new item that was started with AddNew. + + Index of the item. + + + + Inserts the item into the binding list at the given index. + + The index. + The item. + + + + Removes the item at the specified index. + + The index. + + + + Sets the item into the list at the given position. + + The index to insert at. + The item. + + + + Event handler to update the binding list when the underlying observable collection changes. + + The sender. + Data indicating how the collection has changed. + + + + Adds the item to the underlying observable collection. + + The item. + + + + Removes the item from the underlying from observable collection. + + The item. + + + + Adapted from to allow the initializer to take an input object and + to do one-time initialization that only has side-effects and doesn't return a value. + + The type of the input. + + + + Initializes a new instance of the class. + + The action. + + + + Performs the action unless it has already been successfully performed before. + + The input to the action; ignored if the action has already succeeded. + + + + Adapted from to allow the initializer to take an input object and + to retry initialization if it has previously failed. + + + This class can only be used to initialize reference types that will not be null when + initialized. + + The type of the input. + The type of the result. + + + + Initializes a new instance of the class. + + The value factory. + + + + Gets the value, possibly by running the initializer if it has not been run before or + if all previous times it ran resulted in exceptions. + + The input to the initializer; ignored if initialization has already succeeded. + The initialized object. + + + + Validates a property of a given EDM complex type. + + + This is a composite validator for a complex property of an entity. + + + + + Validates a property of a given EDM property type. + + + This is a composite validator for a property of an entity or a complex type. + + + + + Simple validators for the corresponding property. + + + + + Name of the property the validator was created for. + + + + + Creates an instance of for a given EDM property. + + The EDM property name. + Validators used to validate the given property. + + + + Validates a property. + + Validation context. Never null. + Property to validate. Never null. + Validation errors as . Empty if no errors. Never null. + + + + + Simple validators for the corresponding property. + + + + + Gets the name of the property the validator was created for. + + + + + The complex type validator. + + + + + Creates an instance of for a given complex property. + + The complex property name. + Validators used to validate the given property. + Complex type validator. + + + + Validates a complex property. + + Validation context. Never null. + Property to validate. Never null. + Validation errors as . Empty if no errors. Never null. + + + + + Validator used to validate a property of a given EDM ComplexType. + + + This is a composite validator. + + + + + Validator used to validate an entity of a given EDM Type. + + + This is a composite validator for an EDM Type. + + + + + Creates an instance for a given EDM type. + + Property validators. + Type level validators. + + + + Validates an instance. + + Entity validation context. Must not be null. + The entry for the complex property. Null if validating an entity. + instance. Never null. + + Protected so it doesn't appear on EntityValidator. + + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Returns a validator for a child property. + + Name of the child property for which to return a validator. + + Validator for a child property. Possibly null if there are no validators for requested property. + + + + + Creates an instance for a given EDM complex type. + + Property validators. + Type level validators. + + + + Validates an instance. + + Entity validation context. Must not be null. + The entry for the complex property. Null if validating an entity. + instance. Never null. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Contains information needed to validate an entity or its properties. + + + + + The entity being validated or the entity that owns the property being validated. + + + + + Initializes a new instance of EntityValidationContext class. + + + The entity being validated or the entity that owns the property being validated. + + + External contexts needed for validation. + + + + + External context needed for validation. + + + + + Gets the entity being validated or the entity that owns the property being validated. + + + + + Validator used to validate an entity of a given EDM EntityType. + + + This is a top level, composite validator. This is also an entry point to getting an entity + validated as validation of an entity is always started by calling Validate method on this type. + + + + + Creates an instance for a given EDM entity type. + + Property validators. + Entity type level validators. + + + + Validates an entity. + + Entity validation context. Must not be null. + instance. Never null. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Builds validators based on s specified on entity CLR types and properties + as well as based on presence of implementation on entity and complex + type CLR types. It's not sealed and not static for mocking purposes. + + + + + Builds an for the given . + + The entity entry to build the validator for. + Whether the currently processed type is the target type or one of the ancestor types. + + + for the given . Possibly null + if no validation has been specified for this entity type. + + + + + Builds the validator for a given and the corresponding + . + + The CLR type that corresponds to the EDM complex type. + The EDM complex type that type level validation is built for. + A for the given complex type. May be null if no validation specified. + + + + Extracted method from BuildEntityValidator and BuildComplexTypeValidator + + + + + Build validators for the and the corresponding + or . + + Properties to build validators for. + Non-navigation EDM properties. + Navigation EDM properties. + A list of validators. Possibly empty, never null. + + + + Builds a for the given and the corresponding + . If the property is a complex type, type level validators will be built here as + well. + + The CLR property to build the validator for. + The EDM property to build the validator for. + + for the given . Possibly null + if no validation has been specified for this property. + + + + + Builds a for the given transient . + + The CLR property to build the validator for. + + for the given . Possibly null + if no validation has been specified for this property. + + + + + Builds s for given that derive from + . + + Attributes used to build validators. + + A list of s built from . + Possibly empty, never null. + + + + + Returns all non-static non-indexed CLR properties from the . + + The CLR to get the properties from. + + A collection of CLR properties. Possibly empty, never null. + + + + + Builds validators based on the facets of : + * If .Nullable facet set to false adds a validator equivalent to the RequiredAttribute + * If the .MaxLength facet is specified adds a validator equivalent to the MaxLengthAttribute. + However the validator isn't added if .IsMaxLength has been set to true. + + The CLR property to build the facet validators for. + The property for which facet validators will be created + A collection of validators. + + + + Abstracts simple validators used to validate entities and properties. + + + + + Validates an entity or a property. + + Validation context. Never null. + Property to validate. Can be null for type level validation. + Validation error as. Empty if no errors. Never null. + + + + + Contract for IValidator.Validate method. + + Validation context. + Property. + Nothing - always throws. + + + + Validates entities or complex types implementing IValidatableObject interface. + + + + + Display attribute used to specify the display name for an entity or complex property. + + + + + Validates an entity or a complex type implementing IValidatableObject interface. + This method is virtual to allow mocking. + + Validation context. Never null. + + Property to validate. Null if this is the entity that will be validated. Never null if this + is the complex type that will be validated. + + Validation error as . Empty if no errors. Never null. + + + Note that is used to figure out what needs to be validated. If it not null the complex + type will be validated otherwise the entity will be validated. + Also if this is an IValidatableObject complex type but the instance (.CurrentValue) is null we won't validate + anything and will not return any errors. The reason for this is that Validation is supposed to validate using + information the user provided and not some additional implicit rules. (ObjectContext will throw for operations + that involve null complex properties). + + + + + Validates a property, complex property or an entity using validation attributes the property + or the complex/entity type is decorated with. + + + Note that this class is used for validating primitive properties using attributes declared on the property + (property level validation) and complex properties and entities using attributes declared on the type + (type level validation). + + + + + Display attribute used to specify the display name for a property or entity. + + + + + Validation attribute used to validate a property or an entity. + + + + + Creates an instance of class. + + + Validation attribute used to validate a property or an entity. + + + + + Validates a property or an entity. + + Validation context. Never null. + Property to validate. Null for entity validation. Not null for property validation. + + + Validation errors as . Empty if no errors, never null. + + + + + Used to cache and retrieve generated validators and to create context for validating entities or properties. + + + + + Collection of validators keyed by the entity CLR type. Note that if there's no validation for a given type + it will be associated with a null validator. + + + + + Initializes a new instance of class. + + + + + Returns a validator to validate . + + Entity the validator is requested for. + + to validate . Possibly null if no validation + has been specified for the entity. + + + + + Returns a validator to validate . + + Navigation property the validator is requested for. + + Validator to validate . Possibly null if no validation + has been specified for the requested property. + + + + + Gets a validator for the . + + Entity validator. + Property to get a validator for. + + Validator to validate . Possibly null if there is no validation for the + . + + + For complex properties this method walks up the type hierarchy to get to the entity level and then goes down + and gets a validator for the child property that is an ancestor of the property to validate. If a validator + returned for an ancestor is null it means that there is no validation defined beneath and the method just + propagates (and eventually returns) null. + + + + + Creates for . + + Entity entry for which a validation context needs to be created. + User defined dictionary containing additional info for custom validation. This parameter is optional and can be null. + An instance of class. + + + + + A wrapper around EntityKey that allows key/values pairs that have null values to + be used. This allows Added entities with null key values to be searched for in + the ObjectStateManager. + + + + The key name/key value pairs, where some key values may be null + + + + Creates a new WrappedEntityKey instance. + + The entity set that the key belongs to. + The fully qualified name of the given entity set. + The key values, which may be null or contain null values. + The name of the parameter passed for keyValue by the user, which is used when throwing exceptions. + + + + True if any of the key values are null, which means that the EntityKey will also be null. + + + + + An actual EntityKey, or null if any of the key values are null. + + + + + The key name/key value pairs of the key, in which some of the key values may be null. + + + + + Allows configuration to be performed for an complex type in a model. + + A ComplexTypeConfiguration can be obtained via the ComplexType method on + or a custom type derived from ComplexTypeConfiguration + can be registered via the Configurations property on . + + The complex type to be configured. + + + + Allows configuration to be performed for a type in a model. + + The type to be configured. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + + + + Initializes a new instance of ComplexTypeConfiguration + + + + + Allows derived configuration classes for entities and complex types to be registered with a . + + + Derived configuration classes are created by deriving from + or and using a type to be included in the model as the generic + parameter. + + Configuration can be performed without creating derived configuration classes via the Entity and ComplexType + methods on . + + + + + Adds an to the . + Only one can be added for each type in a model. + + The entity type being configured. + The entity type configuration to be added. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The complex type being configured. + The complex type configuration to be added + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Allows the conventions used by a instance to be customized. + Currently removal of one or more default conventions is the only supported operation. + The default conventions can be found in the System.Data.Entity.ModelConfiguration.Conventions namespace. + + + + + Disables a convention for the . + The default conventions that are available for removal can be found in the System.Data.Entity.ModelConfiguration.Conventions namespace. + + The type of the convention to be disabled. + + + + Configures the table and column mapping for an entity type or a sub-set of properties from an entity type. + This configuration functionality is available via the Code First Fluent API, see . + + The entity type to be mapped. + + + + Configures the properties that will be included in this mapping fragment. + If this method is not called then all properties that have not yet been + included in a mapping fragment will be configured. + + An anonymous type including the properties to be mapped. + + A lambda expression to an anonymous type that contains the properties to be mapped. + C#: t => new { t.Id, t.Property1, t.Property2 } + VB.Net: Function(t) New With { p.Id, t.Property1, t.Property2 } + + + + + Re-maps all properties inherited from base types. + + When configuring a derived type to be mapped to a separate table this will cause all properties to + be included in the table rather than just the non-inherited properties. This is known as + Table per Concrete Type (TPC) mapping. + + + + + Configures the table name to be mapped to. + + Name of the table. + + + + Configures the table name and schema to be mapped to. + + Name of the table. + Schema of the table. + + + + Configures the discriminator column used to differentiate between types in an inheritance hierarchy. + + The name of the discriminator column. + A configuration object to further configure the discriminator column and values. + + + + Configures the discriminator condition used to differentiate between types in an inheritance hierarchy. + + The type of the property being used to discriminate between types. + + A lambda expression representing the property being used to discriminate between types. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object to further configure the discriminator condition. + + + + Moves a foreign key constraint from oldTable to newTable and updates column references + + + + + Move any FK constraints that are now completely in newTable and used to refer to oldColumn + + + + + Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the condition to require a value in the property. + + Rows that do not have a value assigned to column that this property is stored in are + assumed to be of the base type of this entity type. + + + + + Populate the table mapping structure + + + + + Sets nullability for association set mappings' foreign keys for 1:* and 1:0..1 associations + when no base types share the the association set mapping's table + + + + + Makes sure only the required property mappings are present + + + + + Determines if the table and entity type need mapping, and if not, removes the existing entity type mapping + + + + + Configures a database column used to store a string values. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the column to allow the maximum length supported by the database provider. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + + Configures the column to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be variable length. + Columns are variable length by default. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be optional. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be required. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column. + + Name of the database provider specific data type. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column. + + The order that this column should appear in the database table. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to support Unicode string content. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the column supports Unicode string content. + + + Value indicating if the column supports Unicode string content or not. + Specifying 'null' will remove the Unicode facet from the column. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures a discriminator column used to differentiate between types in an inheritance hierarchy. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Initializes configurations in the ModelConfiguration so that configuration data + is in a single place + + + + + Configures a many relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be many:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures an optional relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be optional:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + + A lambda expression representing the navigation property on the other end of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + Configures an required relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be required:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + Base class for configuring a property on an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + True if the NavigationProperty's declaring type is the principal end, false if it is not, null if it is not known + + + + + Base class for performing configuration of a relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures a relationship that can support cascade on delete functionality. + + + + + Configures cascade delete to be on for the relationship. + + + + + Configures whether or not cascade delete is on for the relationship. + + Value indicating if cascade delete is on or not. + + + + Configures a relationship that can support foreign key properties that are exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + The dependent entity type. + + + + Configures a relationship that can only support foreign key properties that are not exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the relationship to use foreign key property(s) that are not exposed in the object model. + The column(s) and table can be customized by specifying a configuration action. + If an empty configuration action is specified then column name(s) will be generated by convention. + If foreign key properties are exposed in the object model then use the HasForeignKey method. + Not all relationships support exposing foreign key properties in the object model. + + Action that configures the foreign key column(s) and table. + + A configuration object that can be used to further configure the relationship. + + + + + Configures the relationship to use foreign key property(s) that are exposed in the object model. + If the foreign key property(s) are not exposed in the object model then use the Map method. + + The type of the key. + + A lambda expression representing the property to be used as the foreign key. + If the foreign key is made up of multiple properties then specify an anonymous type including the properties. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the principal entity type. + + A configuration object that can be used to further configure the relationship. + + + + Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the column(s) for the foreign key. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name and schema that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + Schema of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table and column mapping of a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the join table name for the relationship. + + Name of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the join table name and schema for the relationship. + + Name of the table. + Schema of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the left foreign key. + The left foreign key represents the navigation property specified in the HasMany call. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the right foreign key. + The right foreign key represents the navigation property specified in the WithMany call. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the foreign key column(s) and table used to store the relationship. + + Action that configures the foreign key column(s) and table. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Used to configure a property with length facets for an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to allow the maximum length supported by the database provider. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + Properties are variable length by default. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to allow the maximum length supported by the database provider. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to support Unicode string content. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property supports Unicode string content. + + + Value indicating if the property supports Unicode string content or not. + Specifying 'null' will remove the Unicode facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Indicates what parts of a configuration are overridable. + + + + + Nothing in the configuration is overridable. + + + + + The configuration values related to C-Space are overridable. + + + + + The configuration values only related to S-Space are overridable. + + + + + True if this configuration can be replaced in the model configuration, false otherwise + This is only set to true for configurations that are registered automatically via the DbContext + + + + + Base class for conventions that process CLR attributes found in the model. + + The type of member to look for. + The type of the configuration to look for. + The type of the attribute to look for. + + + + Convention to process instances of found on properties in the model + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on foreign key properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to process instances of found on primitive properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to detect navigation properties to be inverses of each other when only one pair + of navigation properties exists between the related types. + + + + + Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties. + + + + + Convention to convert any data types that were explicitly specified, via data annotations or API, + to be lower case. The default SqlClient provider is case sensitive and requires data types to be lower case. This convention + allows the and API to be case insensitive. + + + + + Convention to add a cascade delete to the join table from both tables involved in a many to many relationship. + + + + + Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties + + + + + Convention to set the table name to be a pluralized version of the entity type name. + + + + + Convention to set precision to 18 and scale to 2 for decimal properties. + + + + + Convention to move primary key properties to appear first. + + + + + Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property. + + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to detect primary key properties. + Recognized naming patterns in order of precedence are: + 1. 'Id' + 2. [type name]Id + Primary key detection is case insensitive. + + + + + Convention to discover foreign key properties whose names are a combination + of the dependent navigation property name and the principal type primary key property name(s). + + + + + Convention to enable cascade delete for any required relationships. + + + + + Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship. + + + + + Convention to set the entity set name to be a pluralized version of the entity type name. + + + + + Convention to discover foreign key properties whose names match the principal type primary key property name(s). + + + + + Convention to set a default maximum length of 128 for properties whose type supports length facets. + + + + + Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider. + + + + + Convention to configure integer primary keys to be identity. + + + + + Checks for the PK property being an FK in a different table. A PK which is also an FK but + in the same table is used for table splitting and can still be an identity column because + the update pipeline is only inserting into one column of one table. + + + + + Convention to discover foreign key properties whose names are a combination + of the principal type name and the principal type primary key property name(s). + + + + + This class provide service for both the singularization and pluralization, it takes the word pairs + in the ctor following the rules that the first one is singular and the second one is plural. + + + + + Factory method for PluralizationService. Only support english pluralization. + Please set the PluralizationService on the System.Data.Entity.Design.EntityModelSchemaGenerator + to extend the service to other locales. + + CultureInfo + PluralizationService + + + + captalize the return word if the parameter is capitalized + if word is "Table", then return "Tables" + + + + + + + + separate one combine word in to two parts, prefix word and the last word(suffix word) + + + + + + + + return true when the word is "[\s]*" or leading or tailing with spaces + or contains non alphabetical characters + + + + + + + This method allow you to add word to internal PluralizationService of English. + If the singluar or the plural value was already added by this method, then an ArgumentException will be thrown. + + + + + + + Attempt to determine the principal and dependent ends of this association. + + The following table illustrates the solution space. + + Source | Target || Prin | Dep | + -------|--------||-------|-------| + 1 | 1 || - | - | + 1 | 0..1 || Sr | Ta | + 1 | * || Sr | Ta | + 0..1 | 1 || Ta | Sr | + 0..1 | 0..1 || - | - | + 0..1 | * || Sr | Ta | + * | 1 || Ta | Sr | + * | 0..1 || Ta | Sr | + * | * || - | - | + + + + + Allows configuration to be performed for an entity type in a model. + + An EntityTypeConfiguration can be obtained via the Entity method on + or a custom type derived from EntityTypeConfiguration + can be registered via the Configurations property on . + + + + + Initializes a new instance of EntityTypeConfiguration + + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + + A lambda expression representing the property to be used as the primary key. + C#: t => t.Id + VB.Net: Function(t) t.Id + + If the primary key is made up of multiple properties then specify an anonymous type including the properties. + C#: t => new { t.Id1, t.Id2 } + VB.Net: Function(t) New With { t.Id1, t.Id2 } + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + + + Allows advanced configuration related to how this entity type is mapped to the database schema. + By default, any configuration will also apply to any type derived from this entity type. + + Derived types can be configured via the overload of Map that configures a derived type or + by using an EntityTypeConfiguration for the derived type. + + The properties of an entity can be split between multiple tables using multiple Map calls. + + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + An action that performs configuration against an . + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how a derived entity type is mapped to the database schema. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + The derived entity type to be configured. + An action that performs configuration against an . + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures an optional relationship from this entity type. + Instances of the entity type will be able to be saved to the database without this relationship being specified. + The foreign key in the database will be nullable. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures a required relationship from this entity type. + Instances of the entity type will not be able to be saved to the database unless this relationship is specified. + The foreign key in the database will be non-nullable. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures a many relationship from this entity type. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Handles mapping from a CLR property to an EDM assocation and nav. prop. + + + + + Exception thrown by during model creation when an invalid model is generated. + + + + + Initializes a new instance of ModelValidationException + + + + + Initializes a new instance of ModelValidationException + + The exception message. + + + + Initializes a new instance of ModelValidationException + + The exception message. + The inner exception. + + + + Code Contracts hook methods - Called when contracts fail. Here we detect the most common preconditions + so we can throw the correct exceptions. It also means that we can write preconditions using the + simplest Contract.Requires() form. + + + + + Returns true if a variable of this type can be assigned a null value + + + + True if a reference type or a nullable value type, + false otherwise + + + + + Exception thrown from when validating entities fails. + + + + + Initializes a new instance of DbEntityValidationException + + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + Validation results. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + The inner exception. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + Validation results. + The inner exception. + + + + Subscribes the SerializeObjectState event. + + + + + Validation results. + + + + + Holds exception state that will be serialized when the exception is serialized. + + + + + Validation results. + + + + + Completes the deserialization. + + The deserialized object. + + + + Validation results. + + + + + Represents validation results for single entity. + + + + + Entity entry the results applies to. Never null. + + + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Creates an instance of class. + + + Entity entry the results applies to. Never null. + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Creates an instance of class. + + + Entity entry the results applies to. Never null. + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Gets an instance of the results applies to. + + + + + Gets validation errors. Never null. + + + + + Gets an indicator if the entity is valid. + + + + + Exception thrown from when an exception is thrown from the validation + code. + + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + The inner exception. + + + + Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and + context. + + The serialization info. + The streaming context. + + + + Validation error. Can be either entity or property level validation error. + + + + + Name of the invalid property. Can be null (e.g. for entity level validations) + + + + + Validation error message. + + + + + Creates an instance of . + + Name of the invalid property. Can be null. + Validation error message. Can be null. + + + + Gets name of the invalid property. + + + + + Gets validation error message. + + + + diff --git a/packages/EntityFramework.5.0.0/tools/EntityFramework.PS3.psd1 b/packages/EntityFramework.5.0.0/tools/EntityFramework.PS3.psd1 new file mode 100644 index 000000000..d789376e6 Binary files /dev/null and b/packages/EntityFramework.5.0.0/tools/EntityFramework.PS3.psd1 differ diff --git a/packages/EntityFramework.5.0.0/tools/EntityFramework.PowerShell.Utility.dll b/packages/EntityFramework.5.0.0/tools/EntityFramework.PowerShell.Utility.dll new file mode 100644 index 000000000..f0d6b7cb1 Binary files /dev/null and b/packages/EntityFramework.5.0.0/tools/EntityFramework.PowerShell.Utility.dll differ diff --git a/packages/EntityFramework.5.0.0/tools/EntityFramework.PowerShell.dll b/packages/EntityFramework.5.0.0/tools/EntityFramework.PowerShell.dll new file mode 100644 index 000000000..dd76c087f Binary files /dev/null and b/packages/EntityFramework.5.0.0/tools/EntityFramework.PowerShell.dll differ diff --git a/packages/EntityFramework.5.0.0/tools/EntityFramework.psd1 b/packages/EntityFramework.5.0.0/tools/EntityFramework.psd1 new file mode 100644 index 000000000..c93a0d56a Binary files /dev/null and b/packages/EntityFramework.5.0.0/tools/EntityFramework.psd1 differ diff --git a/packages/EntityFramework.5.0.0/tools/EntityFramework.psm1 b/packages/EntityFramework.5.0.0/tools/EntityFramework.psm1 new file mode 100644 index 000000000..57b412230 --- /dev/null +++ b/packages/EntityFramework.5.0.0/tools/EntityFramework.psm1 @@ -0,0 +1,777 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. + +$InitialDatabase = '0' + +$knownExceptions = @( + 'System.Data.Entity.Migrations.Infrastructure.MigrationsException', + 'System.Data.Entity.Migrations.Infrastructure.AutomaticMigrationsDisabledException', + 'System.Data.Entity.Migrations.Infrastructure.AutomaticDataLossException', + 'System.Data.Entity.Migrations.MigrationsPendingException', + 'System.Data.Entity.Migrations.ProjectTypeNotSupportedException' +) + +<# +.SYNOPSIS + Enables Code First Migrations in a project. + +.DESCRIPTION + Enables Migrations by scaffolding a migrations configuration class in the project. If the + target database was created by an initializer, an initial migration will be created (unless + automatic migrations are enabled via the EnableAutomaticMigrations parameter). + +.PARAMETER ContextTypeName + Specifies the context to use. If omitted, migrations will attempt to locate a + single context type in the target project. + +.PARAMETER EnableAutomaticMigrations + Specifies whether automatic migrations will be enabled in the scaffolded migrations configuration. + If ommitted, automatic migrations will be disabled. + +.PARAMETER ProjectName + Specifies the project that the scaffolded migrations configuration class will + be added to. If omitted, the default project selected in package manager + console is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. + +.PARAMETER Force + Specifies that the migrations configuration be overwritten when running more + than once for a given project. +#> +function Enable-Migrations +{ + [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')] + param ( + [string] $ContextTypeName, + [alias('Auto')] + [switch] $EnableAutomaticMigrations, + [string] $ProjectName, + [string] $StartUpProjectName, + [parameter(ParameterSetName = 'ConnectionStringName')] + [string] $ConnectionStringName, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', + Mandatory = $true)] + [string] $ConnectionString, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', + Mandatory = $true)] + [string] $ConnectionProviderName, + [switch] $Force + ) + + $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $null $ConnectionStringName $ConnectionString $ConnectionProviderName + + try + { + Invoke-RunnerCommand $runner System.Data.Entity.Migrations.EnableMigrationsCommand @( $EnableAutomaticMigrations.IsPresent, $Force.IsPresent ) @{ 'ContextTypeName' = $ContextTypeName } + $error = Get-RunnerError $runner + + if ($error) + { + if ($knownExceptions -notcontains $error.TypeName) + { + Write-Host $error.StackTrace + } + + throw $error.Message + } + } + finally + { + Remove-Runner $runner + } +} + +<# +.SYNOPSIS + Scaffolds a migration script for any pending model changes. + +.DESCRIPTION + Scaffolds a new migration script and adds it to the project. + +.PARAMETER Name + Specifies the name of the custom script. + +.PARAMETER Force + Specifies that the migration user code be overwritten when re-scaffolding an + existing migration. + +.PARAMETER ProjectName + Specifies the project that contains the migration configuration type to be + used. If ommitted, the default project selected in package manager console + is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ConfigurationTypeName + Specifies the migrations configuration to use. If omitted, migrations will + attempt to locate a single migrations configuration type in the target + project. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. + +.PARAMETER IgnoreChanges + Scaffolds an empty migration ignoring any pending changes detected in the current model. + This can be used to create an initial, empty migration to enable Migrations for an existing + database. N.B. Doing this assumes that the target database schema is compatible with the + current model. + +#> +function Add-Migration +{ + [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')] + param ( + [parameter(Position = 0, + Mandatory = $true)] + [string] $Name, + [switch] $Force, + [string] $ProjectName, + [string] $StartUpProjectName, + [string] $ConfigurationTypeName, + [parameter(ParameterSetName = 'ConnectionStringName')] + [string] $ConnectionStringName, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', + Mandatory = $true)] + [string] $ConnectionString, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', + Mandatory = $true)] + [string] $ConnectionProviderName, + [switch] $IgnoreChanges) + + $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName + + try + { + Invoke-RunnerCommand $runner System.Data.Entity.Migrations.AddMigrationCommand @( $Name, $Force.IsPresent, $IgnoreChanges.IsPresent ) + $error = Get-RunnerError $runner + + if ($error) + { + if ($knownExceptions -notcontains $error.TypeName) + { + Write-Host $error.StackTrace + } + + throw $error.Message + } + } + finally + { + Remove-Runner $runner + } +} + +<# +.SYNOPSIS + Applies any pending migrations to the database. + +.DESCRIPTION + Updates the database to the current model by applying pending migrations. + +.PARAMETER SourceMigration + Only valid with -Script. Specifies the name of a particular migration to use + as the update's starting point. If ommitted, the last applied migration in + the database will be used. + +.PARAMETER TargetMigration + Specifies the name of a particular migration to update the database to. If + ommitted, the current model will be used. + +.PARAMETER Script + Generate a SQL script rather than executing the pending changes directly. + +.PARAMETER Force + Specifies that data loss is acceptable during automatic migration of the + database. + +.PARAMETER ProjectName + Specifies the project that contains the migration configuration type to be + used. If ommitted, the default project selected in package manager console + is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ConfigurationTypeName + Specifies the migrations configuration to use. If omitted, migrations will + attempt to locate a single migrations configuration type in the target + project. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. +#> +function Update-Database +{ + [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')] + param ( + [string] $SourceMigration, + [string] $TargetMigration, + [switch] $Script, + [switch] $Force, + [string] $ProjectName, + [string] $StartUpProjectName, + [string] $ConfigurationTypeName, + [parameter(ParameterSetName = 'ConnectionStringName')] + [string] $ConnectionStringName, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', + Mandatory = $true)] + [string] $ConnectionString, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', + Mandatory = $true)] + [string] $ConnectionProviderName) + + $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName + + try + { + Invoke-RunnerCommand $runner System.Data.Entity.Migrations.UpdateDatabaseCommand @( $SourceMigration, $TargetMigration, $Script.IsPresent, $Force.IsPresent, $Verbose.IsPresent ) + $error = Get-RunnerError $runner + + if ($error) + { + if ($knownExceptions -notcontains $error.TypeName) + { + Write-Host $error.StackTrace + } + + throw $error.Message + } + } + finally + { + Remove-Runner $runner + } +} + +<# +.SYNOPSIS + Displays the migrations that have been applied to the target database. + +.DESCRIPTION + Displays the migrations that have been applied to the target database. + +.PARAMETER ProjectName + Specifies the project that contains the migration configuration type to be + used. If ommitted, the default project selected in package manager console + is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ConfigurationTypeName + Specifies the migrations configuration to use. If omitted, migrations will + attempt to locate a single migrations configuration type in the target + project. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. +#> +function Get-Migrations +{ + [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')] + param ( + [string] $ProjectName, + [string] $StartUpProjectName, + [string] $ConfigurationTypeName, + [parameter(ParameterSetName = 'ConnectionStringName')] + [string] $ConnectionStringName, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', + Mandatory = $true)] + [string] $ConnectionString, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', + Mandatory = $true)] + [string] $ConnectionProviderName) + + $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName + + try + { + Invoke-RunnerCommand $runner System.Data.Entity.Migrations.GetMigrationsCommand + $error = Get-RunnerError $runner + + if ($error) + { + if ($knownExceptions -notcontains $error.TypeName) + { + Write-Host $error.StackTrace + } + + throw $error.Message + } + } + finally + { + Remove-Runner $runner + } +} + +function New-MigrationsRunner($ProjectName, $StartUpProjectName, $ConfigurationTypeName, $ConnectionStringName, $ConnectionString, $ConnectionProviderName) +{ + $startUpProject = Get-MigrationsStartUpProject $StartUpProjectName $ProjectName + Build-Project $startUpProject + + $project = Get-MigrationsProject $ProjectName + Build-Project $project + + $installPath = Get-EntityFrameworkInstallPath $project + $toolsPath = Join-Path $installPath tools + + $info = New-Object System.AppDomainSetup -Property @{ + ShadowCopyFiles = 'true'; + ApplicationBase = $installPath; + PrivateBinPath = 'tools' + } + + $targetFrameworkVersion = (New-Object System.Runtime.Versioning.FrameworkName ($project.Properties.Item('TargetFrameworkMoniker').Value)).Version + + if ($targetFrameworkVersion -lt (New-Object Version @( 4, 5 ))) + { + $info.PrivateBinPath += ';lib\net40' + + $dteVersion = [System.Text.RegularExpressions.Regex]::Match($DTE.Version, '^(?\d{1,2}(\.\d{1,2})?)( \(.+\))?$').Groups['version'].Value + + if ((New-Object Version $dteVersion) -lt (New-Object Version @( 11, 0 ))) + { + $info.ConfigurationFile = Join-Path $toolsPath 'Redirect.config' + } + else + { + $info.ConfigurationFile = Join-Path $toolsPath 'Redirect.VS11.config' + } + } + else + { + $info.PrivateBinPath += ';lib\net45' + $info.ConfigurationFile = [AppDomain]::CurrentDomain.SetupInformation.ConfigurationFile + } + + $domain = [AppDomain]::CreateDomain('Migrations', $null, $info) + $domain.SetData('project', $project) + $domain.SetData('startUpProject', $startUpProject) + $domain.SetData('configurationTypeName', $ConfigurationTypeName) + $domain.SetData('connectionStringName', $ConnectionStringName) + $domain.SetData('connectionString', $ConnectionString) + $domain.SetData('connectionProviderName', $ConnectionProviderName) + + [AppDomain]::CurrentDomain.SetShadowCopyFiles() + $utilityAssembly = [System.Reflection.Assembly]::LoadFrom((Join-Path $toolsPath EntityFramework.PowerShell.Utility.dll)) + $dispatcher = $utilityAssembly.CreateInstance( + 'System.Data.Entity.Migrations.Utilities.DomainDispatcher', + $false, + [System.Reflection.BindingFlags]::Instance -bor [System.Reflection.BindingFlags]::Public, + $null, + $PSCmdlet, + $null, + $null) + $domain.SetData('efDispatcher', $dispatcher) + + return @{ + Domain = $domain; + ToolsPath = $toolsPath + } +} + +function Remove-Runner($runner) +{ + [AppDomain]::Unload($runner.Domain) +} + +function Invoke-RunnerCommand($runner, $command, $parameters, $anonymousArguments) +{ + $domain = $runner.Domain + + if ($anonymousArguments) + { + $anonymousArguments.GetEnumerator() | %{ + $domain.SetData($_.Name, $_.Value) + } + } + + $domain.CreateInstanceFrom( + (Join-Path $runner.ToolsPath EntityFramework.PowerShell.dll), + $command, + $false, + 0, + $null, + $parameters, + $null, + $null) | Out-Null +} + +function Get-RunnerError($runner) +{ + $domain = $runner.Domain + + if (!$domain.GetData('wasError')) + { + return $null + } + + return @{ + Message = $domain.GetData('error.Message'); + TypeName = $domain.GetData('error.TypeName'); + StackTrace = $domain.GetData('error.StackTrace') + } +} + +function Get-MigrationsProject($name, $hideMessage) +{ + if ($name) + { + return Get-SingleProject $name + } + + $project = Get-Project + $projectName = $project.Name + + if (!$hideMessage) + { + Write-Verbose "Using NuGet project '$projectName'." + } + + return $project +} + +function Get-MigrationsStartUpProject($name, $fallbackName) +{ + $startUpProject = $null + + if ($name) + { + $startUpProject = Get-SingleProject $name + } + else + { + $startupProjectPaths = $DTE.Solution.SolutionBuild.StartupProjects + + if ($startupProjectPaths) + { + if ($startupProjectPaths.Length -eq 1) + { + $startupProjectPath = $startupProjectPaths[0] + + if (!(Split-Path -IsAbsolute $startupProjectPath)) + { + $solutionPath = Split-Path $DTE.Solution.Properties.Item('Path').Value + $startupProjectPath = Join-Path $solutionPath $startupProjectPath -Resolve + } + + $startupProject = Get-SolutionProjects | ?{ + try + { + $fullName = $_.FullName + } + catch [NotImplementedException] + { + return false; + } + + if ($fullName -and $fullName.EndsWith('\')) + { + $fullName = $fullName.Substring(0, $fullName.Length - 1) + } + + return $fullName -eq $startupProjectPath + } + } + else + { + Write-Verbose 'More than one start-up project found.' + } + } + else + { + Write-Verbose 'No start-up project found.' + } + } + + if (!($startUpProject -and (Test-StartUpProject $startUpProject))) + { + $startUpProject = Get-MigrationsProject $fallbackName $true + $startUpProjectName = $startUpProject.Name + + Write-Warning "Cannot determine a valid start-up project. Using project '$startUpProjectName' instead. Your configuration file and working directory may not be set as expected. Use the -StartUpProjectName parameter to set one explicitly. Use the -Verbose switch for more information." + } + else + { + $startUpProjectName = $startUpProject.Name + + Write-Verbose "Using StartUp project '$startUpProjectName'." + } + + return $startUpProject +} + +function Get-SolutionProjects() +{ + $projects = New-Object System.Collections.Stack + + $DTE.Solution.Projects | %{ + $projects.Push($_) + } + + while ($projects.Count -ne 0) + { + $project = $projects.Pop(); + + # NOTE: This line is similar to doing a "yield return" in C# + $project + + if ($project.ProjectItems) + { + $project.ProjectItems | ?{ $_.SubProject } | %{ + $projects.Push($_.SubProject) + } + } + } +} + +function Get-SingleProject($name) +{ + $project = Get-Project $name + + if ($project -is [array]) + { + throw "More than one project '$name' was found. Specify the full name of the one to use." + } + + return $project +} + +function Test-StartUpProject($project) +{ + if ($project.Kind -eq '{cc5fd16d-436d-48ad-a40c-5a424c6e3e79}') + { + $projectName = $project.Name + Write-Verbose "Cannot use start-up project '$projectName'. The Windows Azure Project type isn't supported." + + return $false + } + + return $true +} + +function Build-Project($project) +{ + $configuration = $DTE.Solution.SolutionBuild.ActiveConfiguration.Name + + $DTE.Solution.SolutionBuild.BuildProject($configuration, $project.UniqueName, $true) + + if ($DTE.Solution.SolutionBuild.LastBuildInfo) + { + $projectName = $project.Name + + throw "The project '$projectName' failed to build." + } +} + +function Get-EntityFrameworkInstallPath($project) +{ + $package = Get-Package -ProjectName $project.FullName | ?{ $_.Id -eq 'EntityFramework' } + + if (!$package) + { + $projectName = $project.Name + + throw "The EntityFramework package is not installed on project '$projectName'." + } + + return Get-PackageInstallPath $package +} + +function Get-PackageInstallPath($package) + { + $componentModel = Get-VsComponentModel + $packageInstallerServices = $componentModel.GetService([NuGet.VisualStudio.IVsPackageInstallerServices]) + + $vsPackage = $packageInstallerServices.GetInstalledPackages() | ?{ $_.Id -eq $package.Id -and $_.Version -eq $package.Version } + + return $vsPackage.InstallPath +} + +Export-ModuleMember @( 'Enable-Migrations', 'Add-Migration', 'Update-Database', 'Get-Migrations' ) -Variable InitialDatabase + +# SIG # Begin signature block +# MIIaRgYJKoZIhvcNAQcCoIIaNzCCGjMCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB +# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR +# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUc46O5H/xCa1Zd+kKsDgAx0de +# pNmgghUtMIIEoDCCA4igAwIBAgIKYRnMkwABAAAAZjANBgkqhkiG9w0BAQUFADB5 +# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk +# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpN +# aWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQTAeFw0xMTEwMTAyMDMyMjVaFw0xMzAx +# MTAyMDMyMjVaMIGDMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ +# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +# MQ0wCwYDVQQLEwRNT1BSMR4wHAYDVQQDExVNaWNyb3NvZnQgQ29ycG9yYXRpb24w +# ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuW759ESTjhgbgZv9ItRe9 +# AuS0DDLwcj59LofXTqGxp0Mv92WeMeEyMUWu18EkhCHXLrWEfvo101Mc17ZRHk/O +# ZrnrtwwC/SlcraiH9soitNW/CHX1inCPY9fvih7pj0MkZFrTh32QbTusds1XNn3o +# vBBWrJjwiV0uZMavJgleHmMV8T2/Fo+ZiALDMLfBC2AfD3LM1reoNRKGm6ELCuaT +# W476VJzB8xlfQo0Snx0/kLcnE4MZMoId89mH1CGyPKK2B0/XJKrujfWz2fr5OU+n +# 6fKvWVL03EGbLxFwY93q3qrxbSEEEFMzu7JPxeFTskFlR2439rzpmxZBkWsuWzDD +# AgMBAAGjggEdMIIBGTATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUG1IO +# 8xEqt8CJwxGBPdSWWLmjU24wDgYDVR0PAQH/BAQDAgeAMB8GA1UdIwQYMBaAFMsR +# 6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8wOC0z +# MS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMxLTIw +# MTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQClWzZsrU6baRLjb4oCm2l3w2xkciiI +# 2T1FbSwYe9QoLxPiWWobwgs0t4r96rmU7Acx5mr0dQTTp9peOgaeEP2pDb2cUUNv +# /2eUnOHPfPAksDXMg13u2sBvNknAWgpX9nPhnvPjCEw7Pi/M0s3uTyJw9wQfAqZL +# m7iPXIgONpRsMwe4qa1RoNDC3I4iEr3D34LXVqH33fClIFcQEJ3urIZ0bHGbwfDy +# wnBep9ttTTdYmU15QNA0XVolrmfrG05GBrCMKR+jEI+lM58j1fi1Rn3g7mOYkEs+ +# BagvsBizWaSvQVOOCAUQLSrJOgZMHC6pMVFWZKyazKyXmCmKl5CH6p22MIIEujCC +# A6KgAwIBAgIKYQUZlgAAAAAAGzANBgkqhkiG9w0BAQUFADB3MQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGlt +# ZS1TdGFtcCBQQ0EwHhcNMTEwNzI1MjA0MjE5WhcNMTIxMDI1MjA0MjE5WjCBszEL +# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9Q +# UjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjlFNzgtODY0Qi0wMzlEMSUwIwYD +# VQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIBIjANBgkqhkiG9w0B +# AQEFAAOCAQ8AMIIBCgKCAQEA08s7U6KfRKN6q01WcVOKd6o3k34BPv2rAqNTqf/R +# sSLFAJDndW7uGOiBDhPF2GEAvh+gdjsEDQTFBKCo/ENTBqEEBLkLkpgCYjjv1DMS +# 9ys9e++tRVeFlSCf12M0nGJGjr6u4NmeOfapVf3P53fmNRPvXOi/SJNPGkMHWDiK +# f4UUbOrJ0Et6gm7L0xVgCBSJlKhbPzrJPyB9bS9YGn3Kiji8w8I5aNgtWBoj7SoQ +# CFogjIKl7dGXRZKFzMM3g98NmHzF07bgmVPYeAj15SMhB2KGWmppGf1w+VM0gfcl +# MRmGh4vAVZr9qkw1Ff1b6ZXJq1OYKV8speElD2TF8rAndQIDAQABo4IBCTCCAQUw +# HQYDVR0OBBYEFHkj56ENvlUsaBgpYoJn1vPhNjhaMB8GA1UdIwQYMBaAFCM0+NlS +# RnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9jcmwubWlj +# cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY3Jvc29mdFRpbWVTdGFtcFBD +# QS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsGAQUFBzAChjxodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcnQw +# EwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcNAQEFBQADggEBAEfCdoFbMd1v +# 0zyZ8npsfpcTUCwFFxsQuEShtYz0Vs+9sCG0ZG1hHNju6Ov1ku5DohhEw/r67622 +# XH+XbUu1Q/snYXgIVHyx+a+YCrR0xKroLVDEff59TqGZ1icot67Y37GPgyKOzvN5 +# /GEUbb/rzISw36O7WwW36lT1Yh1sJ6ZjS/rjofq734WWZWlTsLZxmGQmZr3F8Vxi +# vJH0PZxLQgANzzgFFCZa3CoFS39qmTjY3XOZos6MUCSepOv1P4p4zFSZXSVmpEEG +# KK9JxLRSlOzeAoNk/k3U/0ui/CmA2+4/qzztM4jKvyJg0Fw7BLAKtJhtPKc6T5rR +# ARYRYopBdqAwggW8MIIDpKADAgECAgphMyYaAAAAAAAxMA0GCSqGSIb3DQEBBQUA +# MF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/IsZAEZFgltaWNyb3Nv +# ZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +# eTAeFw0xMDA4MzEyMjE5MzJaFw0yMDA4MzEyMjI5MzJaMHkxCzAJBgNVBAYTAlVT +# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2Rl +# IFNpZ25pbmcgUENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsnJZ +# XBkwZL8dmmAgIEKZdlNsPhvWb8zL8epr/pcWEODfOnSDGrcvoDLs/97CQk4j1XIA +# 2zVXConKriBJ9PBorE1LjaW9eUtxm0cH2v0l3511iM+qc0R/14Hb873yNqTJXEXc +# r6094CholxqnpXJzVvEXlOT9NZRyoNZ2Xx53RYOFOBbQc1sFumdSjaWyaS/aGQv+ +# knQp4nYvVN0UMFn40o1i/cvJX0YxULknE+RAMM9yKRAoIsc3Tj2gMj2QzaE4BoVc +# TlaCKCoFMrdL109j59ItYvFFPeesCAD2RqGe0VuMJlPoeqpK8kbPNzw4nrR3XKUX +# no3LEY9WPMGsCV8D0wIDAQABo4IBXjCCAVowDwYDVR0TAQH/BAUwAwEB/zAdBgNV +# HQ4EFgQUyxHoytK0FlgByTcuMxYWuUyaCh8wCwYDVR0PBAQDAgGGMBIGCSsGAQQB +# gjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFP3RMU7TJoqV4ZhgO6gxb6Y8vNgt +# MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMB8GA1UdIwQYMBaAFA6sgmBAVieX +# 5SUT/CrhClOVWeSkMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9z +# b2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBU +# BggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0 +# LmNvbS9wa2kvY2VydHMvTWljcm9zb2Z0Um9vdENlcnQuY3J0MA0GCSqGSIb3DQEB +# BQUAA4ICAQBZOT5/Jkav629AsTK1ausOL26oSffrX3XtTDst10OtC/7L6S0xoyPM +# fFCYgCFdrD0vTLqiqFac43C7uLT4ebVJcvc+6kF/yuEMF2nLpZwgLfoLUMRWzS3j +# StK8cOeoDaIDpVbguIpLV/KVQpzx8+/u44YfNDy4VprwUyOFKqSCHJPilAcd8uJO +# +IyhyugTpZFOyBvSj3KVKnFtmxr4HPBT1mfMIv9cHc2ijL0nsnljVkSiUc356aNY +# Vt2bAkVEL1/02q7UgjJu/KSVE+Traeepoiy+yCsQDmWOmdv1ovoSJgllOJTxeh9K +# u9HhVujQeJYYXMk1Fl/dkx1Jji2+rTREHO4QFRoAXd01WyHOmMcJ7oUOjE9tDhNO +# PXwpSJxy0fNsysHscKNXkld9lI2gG0gDWvfPo2cKdKU27S0vF8jmcjcS9G+xPGeC +# +VKyjTMWZR4Oit0Q3mT0b85G1NMX6XnEBLTT+yzfH4qerAr7EydAreT54al/RrsH +# YEdlYEBOsELsTu2zdnnYCjQJbRyAMR/iDlTd5aH75UcQrWSY/1AWLny/BSF64pVB +# J2nDk4+VyY3YmyGuDVyc8KKuhmiDDGotu3ZrAB2WrfIWe/YWgyS5iM9qqEcxL5rc +# 43E91wB+YkfRzojJuBj6DnKNwaM9rwJAav9pm5biEKgQtDdQCNbDPTCCBgcwggPv +# oAMCAQICCmEWaDQAAAAAABwwDQYJKoZIhvcNAQEFBQAwXzETMBEGCgmSJomT8ixk +# ARkWA2NvbTEZMBcGCgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWlj +# cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTA3MDQwMzEyNTMw +# OVoXDTIxMDQwMzEzMDMwOVowdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBMIIBIjAN +# BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn6Fssd/bSJIqfGsuGeG94uPFmVEj +# UK3O3RhOJA/u0afRTK10MCAR6wfVVJUVSZQbQpKumFwwJtoAa+h7veyJBw/3DgSY +# 8InMH8szJIed8vRnHCz8e+eIHernTqOhwSNTyo36Rc8J0F6v0LBCBKL5pmyTZ9co +# 3EZTsIbQ5ShGLieshk9VUgzkAyz7apCQMG6H81kwnfp+1pez6CGXfvjSE/MIt1Nt +# UrRFkJ9IAEpHZhEnKWaol+TTBoFKovmEpxFHFAmCn4TtVXj+AZodUAiFABAwRu23 +# 3iNGu8QtVJ+vHnhBMXfMm987g5OhYQK1HQ2x/PebsgHOIktU//kFw8IgCwIDAQAB +# o4IBqzCCAacwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUIzT42VJGcArtQPt2 +# +7MrsMM1sw8wCwYDVR0PBAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMIGYBgNVHSME +# gZAwgY2AFA6sgmBAVieX5SUT/CrhClOVWeSkoWOkYTBfMRMwEQYKCZImiZPyLGQB +# GRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQDEyRNaWNy +# b3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCEHmtFqFKoKWtTHNY9AcT +# LmUwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br +# aS9jcmwvcHJvZHVjdHMvbWljcm9zb2Z0cm9vdGNlcnQuY3JsMFQGCCsGAQUFBwEB +# BEgwRjBEBggrBgEFBQcwAoY4aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j +# ZXJ0cy9NaWNyb3NvZnRSb290Q2VydC5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgw +# DQYJKoZIhvcNAQEFBQADggIBABCXisNcA0Q23em0rXfbznlRTQGxLnRxW20ME6vO +# vnuPuC7UEqKMbWK4VwLLTiATUJndekDiV7uvWJoc4R0Bhqy7ePKL0Ow7Ae7ivo8K +# BciNSOLwUxXdT6uS5OeNatWAweaU8gYvhQPpkSokInD79vzkeJkuDfcH4nC8GE6d +# jmsKcpW4oTmcZy3FUQ7qYlw/FpiLID/iBxoy+cwxSnYxPStyC8jqcD3/hQoT38IK +# YY7w17gX606Lf8U1K16jv+u8fQtCe9RTciHuMMq7eGVcWwEXChQO0toUmPU8uWZY +# sy0v5/mFhsxRVuidcJRsrDlM1PZ5v6oYemIp76KbKTQGdxpiyT0ebR+C8AvHLLvP +# Q7Pl+ex9teOkqHQ1uE7FcSMSJnYLPFKMcVpGQxS8s7OwTWfIn0L/gHkhgJ4VMGbo +# QhJeGsieIiHQQ+kr6bv0SMws1NgygEwmKkgkX1rqVu+m3pmdyjpvvYEndAYR7nYh +# v5uCwSdUtrFqPYmhdmG0bqETpr+qR/ASb/2KMmyy/t9RyIwjyWa9nR2HEmQCPS2v +# WY+45CHltbDKY7R4VAXUQS5QrJSwpXirs6CWdRrZkocTdSIvMqgIbqBbjCW/oO+E +# yiHW6x5PyZruSeD3AWVviQt9yGnI5m7qp5fOMSn/DsVbXNhNG6HY+i+ePy5VFmvJ +# E6P9MYIEgzCCBH8CAQEwgYcweTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEjMCEGA1UEAxMaTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0ECCmEZ +# zJMAAQAAAGYwCQYFKw4DAhoFAKCBsDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIB +# BDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQU +# SDInMyiqV3LEzPhzf6mjYJvp5qAwUAYKKwYBBAGCNwIBDDFCMECgIoAgAEUAbgB0 +# AGkAdAB5ACAARgByAGEAbQBlAHcAbwByAGuhGoAYaHR0cDovL21zZG4uY29tL2Rh +# dGEvZWYgMA0GCSqGSIb3DQEBAQUABIIBAMTy2exDNM/cRmGrhj6rawr6XoQp77kh +# +WOMUmSG5U4qSlP8g3fVFH030Xsxz5d8TunxEzRUyDhYHh3mQ56x4RCVJU/fdl8Q +# dhXwn4VfV84G3+mIHVRCo8+8hm/o1l1K0sHhLCaPSoZht1bcKH09gK1VxoNhBt78 +# BFUHLTWw0sRwrEJRW1xZPwOoh2rv1cnYi7GPKFHiYrCV3NSHRkSJZmA42UYA1iZv +# 3fF9QCQNlTDY4jiC2vsa/eWt0qhups1gQXdqg8y/Zvc5cEYxF+ByataJ6fI4w5HP +# 5WNzsVl1O+6VFlj1qjMzOyVlsHWCOIfFfc8iLoWWy+A4W00yEeHIMT2hggIdMIIC +# GQYJKoZIhvcNAQkGMYICCjCCAgYCAQEwgYUwdzELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBAgphBRmWAAAAAAAbMAcGBSsOAwIaoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3 +# DQEHATAcBgkqhkiG9w0BCQUxDxcNMTIwNjI4MjA0MzM5WjAjBgkqhkiG9w0BCQQx +# FgQU2luimdNA+66F/z6ooEia0K5OZC8wDQYJKoZIhvcNAQEFBQAEggEAPUTPALhi +# x8qJIn6WmeZTiazQRH4/TVQHCJPDxhlaMgDUDsPwwmjrAfL/UnMz+TVi5ltSM0Hb +# jGLfhTbaw/YcLUqztgxNq/vm0cFqU3n+rIGUBXFUwDoS6Ol6UTSoXkJVHyiOxHuU +# Fdh33QDv9EVBbr1CQJLTs02d31Uwjg8vUt9+LDSYQWFlZH0+xsy1wStReGX4DSRz +# QneatHmqk+Vej4/3iFKBlCJO1SPlXQLaFAUFsZr6yl6oTrpfatG6sA16/e8jjW4u +# Kz0GzJYJ4DMVdSVGpsvVWMADsbEsjlr6yesOrN4ZDEBdv7Y3P518wK/iJ1/WdgRc +# SA474q5bExc5pA== +# SIG # End signature block diff --git a/packages/EntityFramework.5.0.0/tools/Redirect.VS11.config b/packages/EntityFramework.5.0.0/tools/Redirect.VS11.config new file mode 100644 index 000000000..9334b311b --- /dev/null +++ b/packages/EntityFramework.5.0.0/tools/Redirect.VS11.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/EntityFramework.5.0.0/tools/Redirect.config b/packages/EntityFramework.5.0.0/tools/Redirect.config new file mode 100644 index 000000000..223189e56 --- /dev/null +++ b/packages/EntityFramework.5.0.0/tools/Redirect.config @@ -0,0 +1,14 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/packages/EntityFramework.5.0.0/tools/about_EntityFramework.help.txt b/packages/EntityFramework.5.0.0/tools/about_EntityFramework.help.txt new file mode 100644 index 000000000..68cfaa281 --- /dev/null +++ b/packages/EntityFramework.5.0.0/tools/about_EntityFramework.help.txt @@ -0,0 +1,30 @@ +TOPIC + about_EntityFramework + +SHORT DESCRIPTION + Provides information about Entity Framework commands. + +LONG DESCRIPTION + This topic describes the Entity Framework commands. Entity Framework is + Microsoft's recommended data access technology for new applications. + + + The following Entity Framework cmdlets are included. + + Cmdlet Description + ----------------- --------------------------------------------------- + Enable-Migrations Enables Code First Migrations in a project. + + Add-Migration Scaffolds a migration script for any pending model + changes. + + Update-Database Applies any pending migrations to the database. + + Get-Migrations Displays the migrations that have been applied to + the target database. + +SEE ALSO + Enable-Migrations + Add-Migration + Update-Database + Get-Migrations diff --git a/packages/EntityFramework.5.0.0/tools/init.ps1 b/packages/EntityFramework.5.0.0/tools/init.ps1 new file mode 100644 index 000000000..212836cb3 --- /dev/null +++ b/packages/EntityFramework.5.0.0/tools/init.ps1 @@ -0,0 +1,176 @@ +param($installPath, $toolsPath, $package, $project) + +$importedModule = Get-Module | ?{ $_.Name -eq 'EntityFramework' } + +if ($PSVersionTable.PSVersion -ge (New-Object Version @( 3, 0 ))) +{ + $thisModuleManifest = 'EntityFramework.PS3.psd1' +} +else +{ + $thisModuleManifest = 'EntityFramework.psd1' +} + +$thisModule = Test-ModuleManifest (Join-Path $toolsPath $thisModuleManifest) +$shouldImport = $true + +if ($importedModule) +{ + if ($importedModule.Version -le $thisModule.Version) + { + Remove-Module EntityFramework + } + else + { + $shouldImport = $false + } +} + +if ($shouldImport) +{ + Import-Module $thisModule +} + +# SIG # Begin signature block +# MIIaSAYJKoZIhvcNAQcCoIIaOTCCGjUCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB +# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR +# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU4JbMotbKQrAO4s/cceCMbJQG +# 482gghUtMIIEoDCCA4igAwIBAgIKYRnMkwABAAAAZjANBgkqhkiG9w0BAQUFADB5 +# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk +# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpN +# aWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQTAeFw0xMTEwMTAyMDMyMjVaFw0xMzAx +# MTAyMDMyMjVaMIGDMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ +# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +# MQ0wCwYDVQQLEwRNT1BSMR4wHAYDVQQDExVNaWNyb3NvZnQgQ29ycG9yYXRpb24w +# ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuW759ESTjhgbgZv9ItRe9 +# AuS0DDLwcj59LofXTqGxp0Mv92WeMeEyMUWu18EkhCHXLrWEfvo101Mc17ZRHk/O +# ZrnrtwwC/SlcraiH9soitNW/CHX1inCPY9fvih7pj0MkZFrTh32QbTusds1XNn3o +# vBBWrJjwiV0uZMavJgleHmMV8T2/Fo+ZiALDMLfBC2AfD3LM1reoNRKGm6ELCuaT +# W476VJzB8xlfQo0Snx0/kLcnE4MZMoId89mH1CGyPKK2B0/XJKrujfWz2fr5OU+n +# 6fKvWVL03EGbLxFwY93q3qrxbSEEEFMzu7JPxeFTskFlR2439rzpmxZBkWsuWzDD +# AgMBAAGjggEdMIIBGTATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUG1IO +# 8xEqt8CJwxGBPdSWWLmjU24wDgYDVR0PAQH/BAQDAgeAMB8GA1UdIwQYMBaAFMsR +# 6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8wOC0z +# MS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMxLTIw +# MTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQClWzZsrU6baRLjb4oCm2l3w2xkciiI +# 2T1FbSwYe9QoLxPiWWobwgs0t4r96rmU7Acx5mr0dQTTp9peOgaeEP2pDb2cUUNv +# /2eUnOHPfPAksDXMg13u2sBvNknAWgpX9nPhnvPjCEw7Pi/M0s3uTyJw9wQfAqZL +# m7iPXIgONpRsMwe4qa1RoNDC3I4iEr3D34LXVqH33fClIFcQEJ3urIZ0bHGbwfDy +# wnBep9ttTTdYmU15QNA0XVolrmfrG05GBrCMKR+jEI+lM58j1fi1Rn3g7mOYkEs+ +# BagvsBizWaSvQVOOCAUQLSrJOgZMHC6pMVFWZKyazKyXmCmKl5CH6p22MIIEujCC +# A6KgAwIBAgIKYQKSSgAAAAAAIDANBgkqhkiG9w0BAQUFADB3MQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGlt +# ZS1TdGFtcCBQQ0EwHhcNMTIwMTA5MjIyNTU5WhcNMTMwNDA5MjIyNTU5WjCBszEL +# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9Q +# UjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOkI4RUMtMzBBNC03MTQ0MSUwIwYD +# VQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIBIjANBgkqhkiG9w0B +# AQEFAAOCAQ8AMIIBCgKCAQEAzWPD96K1R9n5OZRTrGuPpnk4IfTRbj0VOBbBcyyZ +# j/vgPFvhokyLsquLtPJKx7mTUNEm9YdTsHp180cPFytnLGTrYOdKjOCLXsRWaTc6 +# KgRdFwHIv6m308mro5GogeM/LbfY5MR4AHk5z/3HZOIjEnieDHYnSY+arA504wZV +# VUnI7aF8cEVhfrJxFh7hwUG50tIy6VIk8zZQBNfdbzxJ1QvUdkD8ZWUTfpVROtX/ +# uJqnV2tLFeU3WB/cAA3FrurfgUf58FKu5s9arOAUSqZxlID6/bAjMGDpg2CsDiQe +# /xHy56VVYpXun3+eKdbNSwp2g/BDBN8GSSDyU1pEsFF6OQIDAQABo4IBCTCCAQUw +# HQYDVR0OBBYEFM0ZrGFNlGcr9q+UdVnb8FgAg6E6MB8GA1UdIwQYMBaAFCM0+NlS +# RnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9jcmwubWlj +# cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY3Jvc29mdFRpbWVTdGFtcFBD +# QS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsGAQUFBzAChjxodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcnQw +# EwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcNAQEFBQADggEBAFEc1t82HdyA +# vAKnxpnfFsiQBmkVmjK582QQ0orzYikbeY/KYKmzXcTkFi01jESb8fRcYaRBrpqL +# ulDRanlqs2KMnU1RUAupjtS/ohDAR9VOdVKJHj+Wao8uQBQGcu4/cFmSXYXtg5n6 +# goSe5AMBIROrJ9bMcUnl2h3/bzwJTtWNZugMyX/uMRQCN197aeyJPkV/JUTnHxrW +# xRrDSuTh8YSY50/5qZinGEbshGzsqQMK/Xx6Uh2ca6SoD5iSpJJ4XCt4432yx9m2 +# cH3fW3NTv6rUZlBL8Mk7lYXlwUplnSVYULsgVJF5OhsHXGpXKK8xx5/nwx3uR/0n +# 13/PdNxlxT8wggW8MIIDpKADAgECAgphMyYaAAAAAAAxMA0GCSqGSIb3DQEBBQUA +# MF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/IsZAEZFgltaWNyb3Nv +# ZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +# eTAeFw0xMDA4MzEyMjE5MzJaFw0yMDA4MzEyMjI5MzJaMHkxCzAJBgNVBAYTAlVT +# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2Rl +# IFNpZ25pbmcgUENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsnJZ +# XBkwZL8dmmAgIEKZdlNsPhvWb8zL8epr/pcWEODfOnSDGrcvoDLs/97CQk4j1XIA +# 2zVXConKriBJ9PBorE1LjaW9eUtxm0cH2v0l3511iM+qc0R/14Hb873yNqTJXEXc +# r6094CholxqnpXJzVvEXlOT9NZRyoNZ2Xx53RYOFOBbQc1sFumdSjaWyaS/aGQv+ +# knQp4nYvVN0UMFn40o1i/cvJX0YxULknE+RAMM9yKRAoIsc3Tj2gMj2QzaE4BoVc +# TlaCKCoFMrdL109j59ItYvFFPeesCAD2RqGe0VuMJlPoeqpK8kbPNzw4nrR3XKUX +# no3LEY9WPMGsCV8D0wIDAQABo4IBXjCCAVowDwYDVR0TAQH/BAUwAwEB/zAdBgNV +# HQ4EFgQUyxHoytK0FlgByTcuMxYWuUyaCh8wCwYDVR0PBAQDAgGGMBIGCSsGAQQB +# gjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFP3RMU7TJoqV4ZhgO6gxb6Y8vNgt +# MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMB8GA1UdIwQYMBaAFA6sgmBAVieX +# 5SUT/CrhClOVWeSkMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9z +# b2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBU +# BggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0 +# LmNvbS9wa2kvY2VydHMvTWljcm9zb2Z0Um9vdENlcnQuY3J0MA0GCSqGSIb3DQEB +# BQUAA4ICAQBZOT5/Jkav629AsTK1ausOL26oSffrX3XtTDst10OtC/7L6S0xoyPM +# fFCYgCFdrD0vTLqiqFac43C7uLT4ebVJcvc+6kF/yuEMF2nLpZwgLfoLUMRWzS3j +# StK8cOeoDaIDpVbguIpLV/KVQpzx8+/u44YfNDy4VprwUyOFKqSCHJPilAcd8uJO +# +IyhyugTpZFOyBvSj3KVKnFtmxr4HPBT1mfMIv9cHc2ijL0nsnljVkSiUc356aNY +# Vt2bAkVEL1/02q7UgjJu/KSVE+Traeepoiy+yCsQDmWOmdv1ovoSJgllOJTxeh9K +# u9HhVujQeJYYXMk1Fl/dkx1Jji2+rTREHO4QFRoAXd01WyHOmMcJ7oUOjE9tDhNO +# PXwpSJxy0fNsysHscKNXkld9lI2gG0gDWvfPo2cKdKU27S0vF8jmcjcS9G+xPGeC +# +VKyjTMWZR4Oit0Q3mT0b85G1NMX6XnEBLTT+yzfH4qerAr7EydAreT54al/RrsH +# YEdlYEBOsELsTu2zdnnYCjQJbRyAMR/iDlTd5aH75UcQrWSY/1AWLny/BSF64pVB +# J2nDk4+VyY3YmyGuDVyc8KKuhmiDDGotu3ZrAB2WrfIWe/YWgyS5iM9qqEcxL5rc +# 43E91wB+YkfRzojJuBj6DnKNwaM9rwJAav9pm5biEKgQtDdQCNbDPTCCBgcwggPv +# oAMCAQICCmEWaDQAAAAAABwwDQYJKoZIhvcNAQEFBQAwXzETMBEGCgmSJomT8ixk +# ARkWA2NvbTEZMBcGCgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWlj +# cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTA3MDQwMzEyNTMw +# OVoXDTIxMDQwMzEzMDMwOVowdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBMIIBIjAN +# BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn6Fssd/bSJIqfGsuGeG94uPFmVEj +# UK3O3RhOJA/u0afRTK10MCAR6wfVVJUVSZQbQpKumFwwJtoAa+h7veyJBw/3DgSY +# 8InMH8szJIed8vRnHCz8e+eIHernTqOhwSNTyo36Rc8J0F6v0LBCBKL5pmyTZ9co +# 3EZTsIbQ5ShGLieshk9VUgzkAyz7apCQMG6H81kwnfp+1pez6CGXfvjSE/MIt1Nt +# UrRFkJ9IAEpHZhEnKWaol+TTBoFKovmEpxFHFAmCn4TtVXj+AZodUAiFABAwRu23 +# 3iNGu8QtVJ+vHnhBMXfMm987g5OhYQK1HQ2x/PebsgHOIktU//kFw8IgCwIDAQAB +# o4IBqzCCAacwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUIzT42VJGcArtQPt2 +# +7MrsMM1sw8wCwYDVR0PBAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMIGYBgNVHSME +# gZAwgY2AFA6sgmBAVieX5SUT/CrhClOVWeSkoWOkYTBfMRMwEQYKCZImiZPyLGQB +# GRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQDEyRNaWNy +# b3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCEHmtFqFKoKWtTHNY9AcT +# LmUwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br +# aS9jcmwvcHJvZHVjdHMvbWljcm9zb2Z0cm9vdGNlcnQuY3JsMFQGCCsGAQUFBwEB +# BEgwRjBEBggrBgEFBQcwAoY4aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j +# ZXJ0cy9NaWNyb3NvZnRSb290Q2VydC5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgw +# DQYJKoZIhvcNAQEFBQADggIBABCXisNcA0Q23em0rXfbznlRTQGxLnRxW20ME6vO +# vnuPuC7UEqKMbWK4VwLLTiATUJndekDiV7uvWJoc4R0Bhqy7ePKL0Ow7Ae7ivo8K +# BciNSOLwUxXdT6uS5OeNatWAweaU8gYvhQPpkSokInD79vzkeJkuDfcH4nC8GE6d +# jmsKcpW4oTmcZy3FUQ7qYlw/FpiLID/iBxoy+cwxSnYxPStyC8jqcD3/hQoT38IK +# YY7w17gX606Lf8U1K16jv+u8fQtCe9RTciHuMMq7eGVcWwEXChQO0toUmPU8uWZY +# sy0v5/mFhsxRVuidcJRsrDlM1PZ5v6oYemIp76KbKTQGdxpiyT0ebR+C8AvHLLvP +# Q7Pl+ex9teOkqHQ1uE7FcSMSJnYLPFKMcVpGQxS8s7OwTWfIn0L/gHkhgJ4VMGbo +# QhJeGsieIiHQQ+kr6bv0SMws1NgygEwmKkgkX1rqVu+m3pmdyjpvvYEndAYR7nYh +# v5uCwSdUtrFqPYmhdmG0bqETpr+qR/ASb/2KMmyy/t9RyIwjyWa9nR2HEmQCPS2v +# WY+45CHltbDKY7R4VAXUQS5QrJSwpXirs6CWdRrZkocTdSIvMqgIbqBbjCW/oO+E +# yiHW6x5PyZruSeD3AWVviQt9yGnI5m7qp5fOMSn/DsVbXNhNG6HY+i+ePy5VFmvJ +# E6P9MYIEhTCCBIECAQEwgYcweTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEjMCEGA1UEAxMaTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0ECCmEZ +# zJMAAQAAAGYwCQYFKw4DAhoFAKCBsDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIB +# BDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQU +# WQ2AdtM5zwQcEcFbsSevYrmN6UQwUAYKKwYBBAGCNwIBDDFCMECgIoAgAEUAbgB0 +# AGkAdAB5ACAARgByAGEAbQBlAHcAbwByAGuhGoAYaHR0cDovL21zZG4uY29tL2Rh +# dGEvZWYgMA0GCSqGSIb3DQEBAQUABIIBAAp6IKF/Uj/9lpK3SAcA7JJxjVoqi+yI +# n0i9qNP5b4+zTSrtpnPDibOaQvhdUlEsAlEjnJTRCwYR9zobPyxJfGoh9j/qkgcU +# wWBIdmNhzMEzVDJwlE9puRipHQNP6ftcbaz9SOD40aOQ8skR9ecYuHW9SGG0levm +# m2Q/UWxmxVvtv6HnYzWUn6vHrJmiRk+t1ckG9Dxq2GPnBA+hGrRdYaijPBSwSWcg +# FnBsl4s88UVL7N8hpKYOQGnqGda6V1LJIgNPKoGNoPllFeJWXKgClvJ6majpd6dz +# o8S6A9a19D2Dh1l0cbwpI2ZFZjfY9UOVSH33i6fk7CM0aCVe9z3dcB+hggIfMIIC +# GwYJKoZIhvcNAQkGMYICDDCCAggCAQEwgYUwdzELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBAgphApJKAAAAAAAgMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZI +# hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMjA2MjgyMDQzMzlaMCMGCSqGSIb3DQEJ +# BDEWBBTcH0Qic4YQ6MzFbjR1RWKCxjK8pzANBgkqhkiG9w0BAQUFAASCAQAdMhoS +# z2zXLJyB1RIjdnGlDxLKzXF+rxImjMI7VfId2vIg4FaGIPqnN0BBTp8o+HZCv3cM +# ZV/okS8w9k/82jWjJ183l9fn3moQe4qbVlV6yUJvPFpW47LFrEAXgdmL8bgA/VOW +# HtJRP52lPDsb7J1WjqNOh7KkyD5x0Y8Pwrb+Xc63ibtTjOeAttPxKk+1gZh95wUA +# ykjw7RKZLHfyJ9Ph5lCkzDQrXXwGGPuzaZVO+pkowgy2yCPRecShGBCKbCyOZlhT +# BS1WVJDHS95N732o0lPzWE5rTQe/awv8xkgCe9e8ci4S7/lSnj3aVOLbM3S8jG4x +# Oi4rxrjYTjts1n2P +# SIG # End signature block diff --git a/packages/EntityFramework.5.0.0/tools/install.ps1 b/packages/EntityFramework.5.0.0/tools/install.ps1 new file mode 100644 index 000000000..591c6fd0e --- /dev/null +++ b/packages/EntityFramework.5.0.0/tools/install.ps1 @@ -0,0 +1,170 @@ +param($installPath, $toolsPath, $package, $project) + +function Invoke-ConnectionFactoryConfigurator($assemblyPath, $project) +{ + $appDomain = [AppDomain]::CreateDomain( + 'EntityFramework.PowerShell', + $null, + (New-Object System.AppDomainSetup -Property @{ ShadowCopyFiles = 'true' })) + + $appDomain.CreateInstanceFrom( + $assemblyPath, + 'System.Data.Entity.ConnectionFactoryConfig.ConnectionFactoryConfigurator', + $false, + 0, + $null, + $project, + $null, + $null) | Out-Null + + [AppDomain]::Unload($appDomain) +} + +Invoke-ConnectionFactoryConfigurator (Join-Path $toolsPath EntityFramework.PowerShell.dll) $project + +Write-Host +Write-Host "Type 'get-help EntityFramework' to see all available Entity Framework commands." + +# SIG # Begin signature block +# MIIaRgYJKoZIhvcNAQcCoIIaNzCCGjMCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB +# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR +# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU4nG54zEClXzFX9aYwYpo8BH3 +# YWygghUtMIIEoDCCA4igAwIBAgIKYRnMkwABAAAAZjANBgkqhkiG9w0BAQUFADB5 +# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk +# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpN +# aWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQTAeFw0xMTEwMTAyMDMyMjVaFw0xMzAx +# MTAyMDMyMjVaMIGDMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ +# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +# MQ0wCwYDVQQLEwRNT1BSMR4wHAYDVQQDExVNaWNyb3NvZnQgQ29ycG9yYXRpb24w +# ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuW759ESTjhgbgZv9ItRe9 +# AuS0DDLwcj59LofXTqGxp0Mv92WeMeEyMUWu18EkhCHXLrWEfvo101Mc17ZRHk/O +# ZrnrtwwC/SlcraiH9soitNW/CHX1inCPY9fvih7pj0MkZFrTh32QbTusds1XNn3o +# vBBWrJjwiV0uZMavJgleHmMV8T2/Fo+ZiALDMLfBC2AfD3LM1reoNRKGm6ELCuaT +# W476VJzB8xlfQo0Snx0/kLcnE4MZMoId89mH1CGyPKK2B0/XJKrujfWz2fr5OU+n +# 6fKvWVL03EGbLxFwY93q3qrxbSEEEFMzu7JPxeFTskFlR2439rzpmxZBkWsuWzDD +# AgMBAAGjggEdMIIBGTATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUG1IO +# 8xEqt8CJwxGBPdSWWLmjU24wDgYDVR0PAQH/BAQDAgeAMB8GA1UdIwQYMBaAFMsR +# 6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8wOC0z +# MS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMxLTIw +# MTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQClWzZsrU6baRLjb4oCm2l3w2xkciiI +# 2T1FbSwYe9QoLxPiWWobwgs0t4r96rmU7Acx5mr0dQTTp9peOgaeEP2pDb2cUUNv +# /2eUnOHPfPAksDXMg13u2sBvNknAWgpX9nPhnvPjCEw7Pi/M0s3uTyJw9wQfAqZL +# m7iPXIgONpRsMwe4qa1RoNDC3I4iEr3D34LXVqH33fClIFcQEJ3urIZ0bHGbwfDy +# wnBep9ttTTdYmU15QNA0XVolrmfrG05GBrCMKR+jEI+lM58j1fi1Rn3g7mOYkEs+ +# BagvsBizWaSvQVOOCAUQLSrJOgZMHC6pMVFWZKyazKyXmCmKl5CH6p22MIIEujCC +# A6KgAwIBAgIKYQUZlgAAAAAAGzANBgkqhkiG9w0BAQUFADB3MQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGlt +# ZS1TdGFtcCBQQ0EwHhcNMTEwNzI1MjA0MjE5WhcNMTIxMDI1MjA0MjE5WjCBszEL +# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9Q +# UjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjlFNzgtODY0Qi0wMzlEMSUwIwYD +# VQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIBIjANBgkqhkiG9w0B +# AQEFAAOCAQ8AMIIBCgKCAQEA08s7U6KfRKN6q01WcVOKd6o3k34BPv2rAqNTqf/R +# sSLFAJDndW7uGOiBDhPF2GEAvh+gdjsEDQTFBKCo/ENTBqEEBLkLkpgCYjjv1DMS +# 9ys9e++tRVeFlSCf12M0nGJGjr6u4NmeOfapVf3P53fmNRPvXOi/SJNPGkMHWDiK +# f4UUbOrJ0Et6gm7L0xVgCBSJlKhbPzrJPyB9bS9YGn3Kiji8w8I5aNgtWBoj7SoQ +# CFogjIKl7dGXRZKFzMM3g98NmHzF07bgmVPYeAj15SMhB2KGWmppGf1w+VM0gfcl +# MRmGh4vAVZr9qkw1Ff1b6ZXJq1OYKV8speElD2TF8rAndQIDAQABo4IBCTCCAQUw +# HQYDVR0OBBYEFHkj56ENvlUsaBgpYoJn1vPhNjhaMB8GA1UdIwQYMBaAFCM0+NlS +# RnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9jcmwubWlj +# cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY3Jvc29mdFRpbWVTdGFtcFBD +# QS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsGAQUFBzAChjxodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcnQw +# EwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcNAQEFBQADggEBAEfCdoFbMd1v +# 0zyZ8npsfpcTUCwFFxsQuEShtYz0Vs+9sCG0ZG1hHNju6Ov1ku5DohhEw/r67622 +# XH+XbUu1Q/snYXgIVHyx+a+YCrR0xKroLVDEff59TqGZ1icot67Y37GPgyKOzvN5 +# /GEUbb/rzISw36O7WwW36lT1Yh1sJ6ZjS/rjofq734WWZWlTsLZxmGQmZr3F8Vxi +# vJH0PZxLQgANzzgFFCZa3CoFS39qmTjY3XOZos6MUCSepOv1P4p4zFSZXSVmpEEG +# KK9JxLRSlOzeAoNk/k3U/0ui/CmA2+4/qzztM4jKvyJg0Fw7BLAKtJhtPKc6T5rR +# ARYRYopBdqAwggW8MIIDpKADAgECAgphMyYaAAAAAAAxMA0GCSqGSIb3DQEBBQUA +# MF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/IsZAEZFgltaWNyb3Nv +# ZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +# eTAeFw0xMDA4MzEyMjE5MzJaFw0yMDA4MzEyMjI5MzJaMHkxCzAJBgNVBAYTAlVT +# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2Rl +# IFNpZ25pbmcgUENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsnJZ +# XBkwZL8dmmAgIEKZdlNsPhvWb8zL8epr/pcWEODfOnSDGrcvoDLs/97CQk4j1XIA +# 2zVXConKriBJ9PBorE1LjaW9eUtxm0cH2v0l3511iM+qc0R/14Hb873yNqTJXEXc +# r6094CholxqnpXJzVvEXlOT9NZRyoNZ2Xx53RYOFOBbQc1sFumdSjaWyaS/aGQv+ +# knQp4nYvVN0UMFn40o1i/cvJX0YxULknE+RAMM9yKRAoIsc3Tj2gMj2QzaE4BoVc +# TlaCKCoFMrdL109j59ItYvFFPeesCAD2RqGe0VuMJlPoeqpK8kbPNzw4nrR3XKUX +# no3LEY9WPMGsCV8D0wIDAQABo4IBXjCCAVowDwYDVR0TAQH/BAUwAwEB/zAdBgNV +# HQ4EFgQUyxHoytK0FlgByTcuMxYWuUyaCh8wCwYDVR0PBAQDAgGGMBIGCSsGAQQB +# gjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFP3RMU7TJoqV4ZhgO6gxb6Y8vNgt +# MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMB8GA1UdIwQYMBaAFA6sgmBAVieX +# 5SUT/CrhClOVWeSkMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9z +# b2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBU +# BggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0 +# LmNvbS9wa2kvY2VydHMvTWljcm9zb2Z0Um9vdENlcnQuY3J0MA0GCSqGSIb3DQEB +# BQUAA4ICAQBZOT5/Jkav629AsTK1ausOL26oSffrX3XtTDst10OtC/7L6S0xoyPM +# fFCYgCFdrD0vTLqiqFac43C7uLT4ebVJcvc+6kF/yuEMF2nLpZwgLfoLUMRWzS3j +# StK8cOeoDaIDpVbguIpLV/KVQpzx8+/u44YfNDy4VprwUyOFKqSCHJPilAcd8uJO +# +IyhyugTpZFOyBvSj3KVKnFtmxr4HPBT1mfMIv9cHc2ijL0nsnljVkSiUc356aNY +# Vt2bAkVEL1/02q7UgjJu/KSVE+Traeepoiy+yCsQDmWOmdv1ovoSJgllOJTxeh9K +# u9HhVujQeJYYXMk1Fl/dkx1Jji2+rTREHO4QFRoAXd01WyHOmMcJ7oUOjE9tDhNO +# PXwpSJxy0fNsysHscKNXkld9lI2gG0gDWvfPo2cKdKU27S0vF8jmcjcS9G+xPGeC +# +VKyjTMWZR4Oit0Q3mT0b85G1NMX6XnEBLTT+yzfH4qerAr7EydAreT54al/RrsH +# YEdlYEBOsELsTu2zdnnYCjQJbRyAMR/iDlTd5aH75UcQrWSY/1AWLny/BSF64pVB +# J2nDk4+VyY3YmyGuDVyc8KKuhmiDDGotu3ZrAB2WrfIWe/YWgyS5iM9qqEcxL5rc +# 43E91wB+YkfRzojJuBj6DnKNwaM9rwJAav9pm5biEKgQtDdQCNbDPTCCBgcwggPv +# oAMCAQICCmEWaDQAAAAAABwwDQYJKoZIhvcNAQEFBQAwXzETMBEGCgmSJomT8ixk +# ARkWA2NvbTEZMBcGCgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWlj +# cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTA3MDQwMzEyNTMw +# OVoXDTIxMDQwMzEzMDMwOVowdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBMIIBIjAN +# BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn6Fssd/bSJIqfGsuGeG94uPFmVEj +# UK3O3RhOJA/u0afRTK10MCAR6wfVVJUVSZQbQpKumFwwJtoAa+h7veyJBw/3DgSY +# 8InMH8szJIed8vRnHCz8e+eIHernTqOhwSNTyo36Rc8J0F6v0LBCBKL5pmyTZ9co +# 3EZTsIbQ5ShGLieshk9VUgzkAyz7apCQMG6H81kwnfp+1pez6CGXfvjSE/MIt1Nt +# UrRFkJ9IAEpHZhEnKWaol+TTBoFKovmEpxFHFAmCn4TtVXj+AZodUAiFABAwRu23 +# 3iNGu8QtVJ+vHnhBMXfMm987g5OhYQK1HQ2x/PebsgHOIktU//kFw8IgCwIDAQAB +# o4IBqzCCAacwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUIzT42VJGcArtQPt2 +# +7MrsMM1sw8wCwYDVR0PBAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMIGYBgNVHSME +# gZAwgY2AFA6sgmBAVieX5SUT/CrhClOVWeSkoWOkYTBfMRMwEQYKCZImiZPyLGQB +# GRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQDEyRNaWNy +# b3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCEHmtFqFKoKWtTHNY9AcT +# LmUwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br +# aS9jcmwvcHJvZHVjdHMvbWljcm9zb2Z0cm9vdGNlcnQuY3JsMFQGCCsGAQUFBwEB +# BEgwRjBEBggrBgEFBQcwAoY4aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j +# ZXJ0cy9NaWNyb3NvZnRSb290Q2VydC5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgw +# DQYJKoZIhvcNAQEFBQADggIBABCXisNcA0Q23em0rXfbznlRTQGxLnRxW20ME6vO +# vnuPuC7UEqKMbWK4VwLLTiATUJndekDiV7uvWJoc4R0Bhqy7ePKL0Ow7Ae7ivo8K +# BciNSOLwUxXdT6uS5OeNatWAweaU8gYvhQPpkSokInD79vzkeJkuDfcH4nC8GE6d +# jmsKcpW4oTmcZy3FUQ7qYlw/FpiLID/iBxoy+cwxSnYxPStyC8jqcD3/hQoT38IK +# YY7w17gX606Lf8U1K16jv+u8fQtCe9RTciHuMMq7eGVcWwEXChQO0toUmPU8uWZY +# sy0v5/mFhsxRVuidcJRsrDlM1PZ5v6oYemIp76KbKTQGdxpiyT0ebR+C8AvHLLvP +# Q7Pl+ex9teOkqHQ1uE7FcSMSJnYLPFKMcVpGQxS8s7OwTWfIn0L/gHkhgJ4VMGbo +# QhJeGsieIiHQQ+kr6bv0SMws1NgygEwmKkgkX1rqVu+m3pmdyjpvvYEndAYR7nYh +# v5uCwSdUtrFqPYmhdmG0bqETpr+qR/ASb/2KMmyy/t9RyIwjyWa9nR2HEmQCPS2v +# WY+45CHltbDKY7R4VAXUQS5QrJSwpXirs6CWdRrZkocTdSIvMqgIbqBbjCW/oO+E +# yiHW6x5PyZruSeD3AWVviQt9yGnI5m7qp5fOMSn/DsVbXNhNG6HY+i+ePy5VFmvJ +# E6P9MYIEgzCCBH8CAQEwgYcweTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEjMCEGA1UEAxMaTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0ECCmEZ +# zJMAAQAAAGYwCQYFKw4DAhoFAKCBsDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIB +# BDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQU +# aRQ2a/UgAzqOb3Wvyd0Y2tRWtIEwUAYKKwYBBAGCNwIBDDFCMECgIoAgAEUAbgB0 +# AGkAdAB5ACAARgByAGEAbQBlAHcAbwByAGuhGoAYaHR0cDovL21zZG4uY29tL2Rh +# dGEvZWYgMA0GCSqGSIb3DQEBAQUABIIBAMQdz1xbjYGj57Z6LNm3laDw2S6QJFye +# QUSbvlY7kcxqlHQrERkp3wwR34emJSnTayLTcTPaCCvzUaGsZi86i+IW6HdA/3A/ +# IwEZgAkai/qXZCYEEBvV9ja+iMRowFPAySU+ROh4LFbCTLzm4vez6qaLyui/JQNr +# 46DZptV5XM0idAbgOfmtCMMipqRkrNqt7Zj8cuxu3cJBKOvhUOdLfEIxq1UW9pNy +# 8c/aOStE0kLFInw3G1GL9IJnS43eTcgeIDMkrwX70o+rLS7lN1U3txL25IrBTUcY +# Q6dxj4zSDxIjn3Tq2jqa8B6lR1OMEahj4INmR6vC+mFNspHODHWgt7GhggIdMIIC +# GQYJKoZIhvcNAQkGMYICCjCCAgYCAQEwgYUwdzELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBAgphBRmWAAAAAAAbMAcGBSsOAwIaoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3 +# DQEHATAcBgkqhkiG9w0BCQUxDxcNMTIwNjI4MjA0MzU0WjAjBgkqhkiG9w0BCQQx +# FgQUlE+8FmmwI9Hd6gz+luAdOPsKxHgwDQYJKoZIhvcNAQEFBQAEggEAiJCupwRm +# YW3NHK2EdgaQ+VCIjXwVrEj6ElX4c30nAYXxnCOIesErL/N/jMYnM3Fo+GNsOikL +# x9Mzo4sZv/c6bchLtnagS6MzQyDFiBPF+pngSMg2PpIDHsIBg2vPzClWx6+hCDxE +# Yf9f7/s/vQEpEbHLjzQZJqoji2LV5HRxnHbT3J13atUF2yqgzyTRlOF2MPp3vLX1 +# 7q5KnOBrWsfyxoYskJEddsbH7zilomWyVZ2zcpG8Ui/h2xoN50AXtMQntx9VYxwT +# D5U5ECSdKzXeUIwktYBPtxor5yGBda63PNxjUHYXSRvFrdnLtXTiMiIQzEzJUdk9 +# 6p75IHbjyjvZfg== +# SIG # End signature block diff --git a/packages/EntityFramework.5.0.0/tools/migrate.exe b/packages/EntityFramework.5.0.0/tools/migrate.exe new file mode 100644 index 000000000..319a61ca4 Binary files /dev/null and b/packages/EntityFramework.5.0.0/tools/migrate.exe differ diff --git a/packages/Microsoft.AspNet.Mvc.4.0.20710.0/Microsoft.AspNet.Mvc.4.0.20710.0.nupkg b/packages/Microsoft.AspNet.Mvc.4.0.20710.0/Microsoft.AspNet.Mvc.4.0.20710.0.nupkg new file mode 100644 index 000000000..3a6a98054 Binary files /dev/null and b/packages/Microsoft.AspNet.Mvc.4.0.20710.0/Microsoft.AspNet.Mvc.4.0.20710.0.nupkg differ diff --git a/packages/Microsoft.AspNet.Mvc.4.0.20710.0/lib/net40/System.Web.Mvc.dll b/packages/Microsoft.AspNet.Mvc.4.0.20710.0/lib/net40/System.Web.Mvc.dll new file mode 100644 index 000000000..835f1b55d Binary files /dev/null and b/packages/Microsoft.AspNet.Mvc.4.0.20710.0/lib/net40/System.Web.Mvc.dll differ diff --git a/packages/Microsoft.AspNet.Mvc.4.0.20710.0/lib/net40/System.Web.Mvc.xml b/packages/Microsoft.AspNet.Mvc.4.0.20710.0/lib/net40/System.Web.Mvc.xml new file mode 100644 index 000000000..ee48e3d4c --- /dev/null +++ b/packages/Microsoft.AspNet.Mvc.4.0.20710.0/lib/net40/System.Web.Mvc.xml @@ -0,0 +1,10254 @@ + + + + System.Web.Mvc + + + + Represents an attribute that specifies which HTTP verbs an action method will respond to. + + + Initializes a new instance of the class by using a list of HTTP verbs that the action method will respond to. + The HTTP verbs that the action method will respond to. + The parameter is null or zero length. + + + Initializes a new instance of the class using the HTTP verbs that the action method will respond to. + The HTTP verbs that the action method will respond to. + + + Determines whether the specified method information is valid for the specified controller context. + true if the method information is valid; otherwise, false. + The controller context. + The method information. + The parameter is null. + + + Gets or sets the list of HTTP verbs that the action method will respond to. + The list of HTTP verbs that the action method will respond to. + + + Provides information about an action method, such as its name, controller, parameters, attributes, and filters. + + + Initializes a new instance of the class. + + + Gets the name of the action method. + The name of the action method. + + + Gets the controller descriptor. + The controller descriptor. + + + Executes the action method by using the specified parameters and controller context. + The result of executing the action method. + The controller context. + The parameters of the action method. + + + Returns an array of custom attributes that are defined for this member, excluding named attributes. + An array of custom attributes, or an empty array if no custom attributes exist. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + + + Returns an array of custom attributes that are defined for this member, identified by type. + An array of custom attributes, or an empty array if no custom attributes of the specified type exist. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + The parameter is null. + + + Gets the filter attributes. + The filter attributes. + true to use the cache, otherwise false. + + + Returns the filters that are associated with this action method. + The filters that are associated with this action method. + + + Returns the parameters of the action method. + The parameters of the action method. + + + Returns the action-method selectors. + The action-method selectors. + + + Determines whether one or more instances of the specified attribute type are defined for this member. + true if is defined for this member; otherwise, false. + The type of the custom attribute. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The parameter is null. + + + Gets the unique ID for the action descriptor using lazy initialization. + The unique ID. + + + Provides the context for the ActionExecuted method of the class. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The controller context. + The action method descriptor. + true if the action is canceled. + The exception object. + The parameter is null. + + + Gets or sets the action descriptor. + The action descriptor. + + + Gets or sets a value that indicates that this object is canceled. + true if the context canceled; otherwise, false. + + + Gets or sets the exception that occurred during the execution of the action method, if any. + The exception that occurred during the execution of the action method. + + + Gets or sets a value that indicates whether the exception is handled. + true if the exception is handled; otherwise, false. + + + Gets or sets the result returned by the action method. + The result returned by the action method. + + + Provides the context for the ActionExecuting method of the class. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using the specified controller context, action descriptor, and action-method parameters. + The controller context. + The action descriptor. + The action-method parameters. + The or parameter is null. + + + Gets or sets the action descriptor. + The action descriptor. + + + Gets or sets the action-method parameters. + The action-method parameters. + + + Gets or sets the result that is returned by the action method. + The result that is returned by the action method. + + + Represents the base class for filter attributes. + + + Initializes a new instance of the class. + + + Called by the ASP.NET MVC framework after the action method executes. + The filter context. + + + Called by the ASP.NET MVC framework before the action method executes. + The filter context. + + + Called by the ASP.NET MVC framework after the action result executes. + The filter context. + + + Called by the ASP.NET MVC framework before the action result executes. + The filter context. + + + Represents an attribute that is used to influence the selection of an action method. + + + Initializes a new instance of the class. + + + Determines whether the action method selection is valid for the specified controller context. + true if the action method selection is valid for the specified controller context; otherwise, false. + The controller context. + Information about the action method. + + + Represents an attribute that is used for the name of an action. + + + Initializes a new instance of the class. + Name of the action. + The parameter is null or empty. + + + Determines whether the action name is valid within the specified controller context. + true if the action name is valid within the specified controller context; otherwise, false. + The controller context. + The name of the action. + Information about the action method. + + + Gets or sets the name of the action. + The name of the action. + + + Represents an attribute that affects the selection of an action method. + + + Initializes a new instance of the class. + + + Determines whether the action name is valid in the specified controller context. + true if the action name is valid in the specified controller context; otherwise, false. + The controller context. + The name of the action. + Information about the action method. + + + Encapsulates the result of an action method and is used to perform a framework-level operation on behalf of the action method. + + + Initializes a new instance of the class. + + + Enables processing of the result of an action method by a custom type that inherits from the class. + The context in which the result is executed. The context information includes the controller, HTTP content, request context, and route data. + + + Represents a delegate that contains the logic for selecting an action method. + true if an action method was successfully selected; otherwise, false. + The current HTTP request context. + + + Provides a class that implements the interface in order to support additional metadata. + + + Initializes a new instance of the class. + The name of the model metadata. + The value of the model metadata. + + + Gets the name of the additional metadata attribute. + The name of the of the additional metadata attribute. + + + Provides metadata to the model metadata creation process. + The meta data. + + + Gets the type of the of the additional metadata attribute. + The type of the of the additional metadata attribute. + + + Gets the value of the of the additional metadata attribute. + The value of the of the additional metadata attribute. + + + Represents support for rendering HTML in AJAX scenarios within a view. + + + Initializes a new instance of the class using the specified view context and view data container. + The view context. + The view data container. + One or both of the parameters is null. + + + Initializes a new instance of the class by using the specified view context, view data container, and route collection. + The view context. + The view data container. + The URL route collection. + One or more of the parameters is null. + + + Gets or sets the root path for the location to use for globalization script files. + The location of the folder where globalization script files are stored. The default location is "~/Scripts/Globalization". + + + Serializes the specified message and returns the resulting JSON-formatted string. + The serialized message as a JSON-formatted string. + The message to serialize. + + + Gets the collection of URL routes for the application. + The collection of routes for the application. + + + Gets the ViewBag. + The ViewBag. + + + Gets the context information about the view. + The context of the view. + + + Gets the current view data dictionary. + The view data dictionary. + + + Gets the view data container. + The view data container. + + + Represents support for rendering HTML in AJAX scenarios within a strongly typed view. + The type of the model. + + + Initializes a new instance of the class by using the specified view context and view data container. + The view context. + The view data container. + + + Initializes a new instance of the class by using the specified view context, view data container, and URL route collection. + The view context. + The view data container. + The URL route collection. + + + Gets the ViewBag. + The ViewBag. + + + Gets the strongly typed version of the view data dictionary. + The strongly typed data dictionary of the view. + + + Represents a class that extends the class by adding the ability to determine whether an HTTP request is an AJAX request. + + + + Represents an attribute that marks controllers and actions to skip the during authorization. + + + Initializes a new instance of the class. + + + Allows a request to include HTML markup during model binding by skipping request validation for the property. (It is strongly recommended that your application explicitly check all models where you disable request validation in order to prevent script exploits.) + + + Initializes a new instance of the class. + + + This method supports the ASP.NET MVC validation infrastructure and is not intended to be used directly from your code. + The model metadata. + + + Provides a way to register one or more areas in an ASP.NET MVC application. + + + Initializes a new instance of the class. + + + Gets the name of the area to register. + The name of the area to register. + + + Registers all areas in an ASP.NET MVC application. + + + Registers all areas in an ASP.NET MVC application by using the specified user-defined information. + An object that contains user-defined information to pass to the area. + + + Registers an area in an ASP.NET MVC application using the specified area's context information. + Encapsulates the information that is required in order to register the area. + + + Encapsulates the information that is required in order to register an area within an ASP.NET MVC application. + + + Initializes a new instance of the class using the specified area name and routes collection. + The name of the area to register. + The collection of routes for the application. + + + Initializes a new instance of the class using the specified area name, routes collection, and user-defined data. + The name of the area to register. + The collection of routes for the application. + An object that contains user-defined information to pass to the area. + + + Gets the name of the area to register. + The name of the area to register. + + + Maps the specified URL route and associates it with the area that is specified by the property. + A reference to the mapped route. + The name of the route. + The URL pattern for the route. + The parameter is null. + + + Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values. + A reference to the mapped route. + The name of the route. + The URL pattern for the route. + An object that contains default route values. + The parameter is null. + + + Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values and constraint. + A reference to the mapped route. + The name of the route. + The URL pattern for the route. + An object that contains default route values. + A set of expressions that specify valid values for a URL parameter. + The parameter is null. + + + Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values, constraints, and namespaces. + A reference to the mapped route. + The name of the route. + The URL pattern for the route. + An object that contains default route values. + A set of expressions that specify valid values for a URL parameter. + An enumerable set of namespaces for the application. + The parameter is null. + + + Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values and namespaces. + A reference to the mapped route. + The name of the route. + The URL pattern for the route. + An object that contains default route values. + An enumerable set of namespaces for the application. + The parameter is null. + + + Maps the specified URL route and associates it with the area that is specified by the property, using the specified namespaces. + A reference to the mapped route. + The name of the route. + The URL pattern for the route. + An enumerable set of namespaces for the application. + The parameter is null. + + + Gets the namespaces for the application. + An enumerable set of namespaces for the application. + + + Gets a collection of defined routes for the application. + A collection of defined routes for the application. + + + Gets an object that contains user-defined information to pass to the area. + An object that contains user-defined information to pass to the area. + + + Provides an abstract class to implement a metadata provider. + + + Called from constructors in a derived class to initialize the class. + + + When overridden in a derived class, creates the model metadata for the property. + The model metadata for the property. + The set of attributes. + The type of the container. + The model accessor. + The type of the model. + The name of the property. + + + Gets a list of attributes. + A list of attributes. + The type of the container. + The property descriptor. + The attribute container. + + + Returns a list of properties for the model. + A list of properties for the model. + The model container. + The type of the container. + + + Returns the metadata for the specified property using the container type and property descriptor. + The metadata for the specified property using the container type and property descriptor. + The model accessor. + The type of the container. + The property descriptor + + + Returns the metadata for the specified property using the container type and property name. + The metadata for the specified property using the container type and property name. + The model accessor. + The type of the container. + The name of the property. + + + Returns the metadata for the specified property using the type of the model. + The metadata for the specified property using the type of the model. + The model accessor. + The type of the model. + + + Returns the type descriptor from the specified type. + The type descriptor. + The type. + + + Provides an abstract class for classes that implement a validation provider. + + + Called from constructors in derived classes to initialize the class. + + + Gets a type descriptor for the specified type. + A type descriptor for the specified type. + The type of the validation provider. + + + Gets the validators for the model using the metadata and controller context. + The validators for the model. + The metadata. + The controller context. + + + Gets the validators for the model using the metadata, the controller context, and a list of attributes. + The validators for the model. + The metadata. + The controller context. + The list of attributes. + + + Provided for backward compatibility with ASP.NET MVC 3. + + + Initializes a new instance of the class. + + + Represents an attribute that is used to set the timeout value, in milliseconds, for an asynchronous method. + + + Initializes a new instance of the class. + The timeout value, in milliseconds. + + + Gets the timeout duration, in milliseconds. + The timeout duration, in milliseconds. + + + Called by ASP.NET before the asynchronous action method executes. + The filter context. + + + Encapsulates the information that is required for using an attribute. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the specified controller context. + The context within which the result is executed. The context information includes the controller, HTTP content, request context, and route data. + + + Initializes a new instance of the class using the specified controller context and action descriptor. + The context in which the result is executed. The context information includes the controller, HTTP content, request context, and route data. + An object that provides information about an action method, such as its name, controller, parameters, attributes, and filters. + + + Provides information about the action method that is marked by the attribute, such as its name, controller, parameters, attributes, and filters. + The action descriptor for the action method that is marked by the attribute. + + + Gets or sets the result that is returned by an action method. + The result that is returned by an action method. + + + Represents an attribute that is used to restrict access by callers to an action method. + + + Initializes a new instance of the class. + + + When overridden, provides an entry point for custom authorization checks. + true if the user is authorized; otherwise, false. + The HTTP context, which encapsulates all HTTP-specific information about an individual HTTP request. + The parameter is null. + + + Processes HTTP requests that fail authorization. + Encapsulates the information for using . The object contains the controller, HTTP context, request context, action result, and route data. + + + Called when a process requests authorization. + The filter context, which encapsulates information for using . + The parameter is null. + + + Called when the caching module requests authorization. + A reference to the validation status. + The HTTP context, which encapsulates all HTTP-specific information about an individual HTTP request. + The parameter is null. + + + Gets or sets the user roles. + The user roles. + + + Gets the unique identifier for this attribute. + The unique identifier for this attribute. + + + Gets or sets the authorized users. + The authorized users. + + + Represents an attribute that is used to provide details about how model binding to a parameter should occur. + + + Initializes a new instance of the class. + + + Gets or sets a comma-delimited list of property names for which binding is not allowed. + The exclude list. + + + Gets or sets a comma-delimited list of property names for which binding is allowed. + The include list. + + + Determines whether the specified property is allowed. + true if the specified property is allowed; otherwise, false. + The name of the property. + + + Gets or sets the prefix to use when markup is rendered for binding to an action argument or to a model property. + The prefix to use. + + + Represents the base class for views that are compiled by the BuildManager class before being rendered by a view engine. + + + Initializes a new instance of the class using the specified controller context and view path. + The controller context. + The view path. + + + Initializes a new instance of the class using the specified controller context, view path, and view page activator. + Context information for the current controller. This information includes the HTTP context, request context, route data, parent action view context, and more. + The path to the view that will be rendered. + The object responsible for dynamically constructing the view page at run time. + The parameter is null. + The parameter is null or empty. + + + Renders the specified view context by using the specified the writer object. + Information related to rendering a view, such as view data, temporary data, and form context. + The writer object. + The parameter is null. + An instance of the view type could not be created. + + + When overridden in a derived class, renders the specified view context by using the specified writer object and object instance. + Information related to rendering a view, such as view data, temporary data, and form context. + The writer object. + An object that contains additional information that can be used in the view. + + + Gets or sets the view path. + The view path. + + + Provides a base class for view engines. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the specified view page activator. + The view page activator. + + + Gets a value that indicates whether a file exists in the specified virtual file system (path). + true if the file exists in the virtual file system; otherwise, false. + The controller context. + The virtual path. + + + Gets the view page activator. + The view page activator. + + + Maps a browser request to a byte array. + + + Initializes a new instance of the class. + + + Binds the model by using the specified controller context and binding context. + The bound data object. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + The parameter is null. + + + Provides an abstract class to implement a cached metadata provider. + + + + Initializes a new instance of the class. + + + Gets the cache item policy. + The cache item policy. + + + Gets the cache key prefix. + The cache key prefix. + + + When overridden in a derived class, creates the cached model metadata for the property. + The cached model metadata for the property. + The attributes. + The container type. + The model accessor. + The model type. + The property name. + + + Creates prototype metadata by applying the prototype and model access to yield the final metadata. + The prototype metadata. + The prototype. + The model accessor. + + + Creates a metadata prototype. + A metadata prototype. + The attributes. + The container type. + The model type. + The property name. + + + Gets the metadata for the properties. + The metadata for the properties. + The container. + The container type. + + + Returns the metadata for the specified property. + The metadata for the specified property. + The model accessor. + The container type. + The property descriptor. + + + Returns the metadata for the specified property. + The metadata for the specified property. + The model accessor. + The container type. + The property name. + + + Returns the cached metadata for the specified property using the type of the model. + The cached metadata for the specified property using the type of the model. + The model accessor. + The type of the container. + + + Gets the prototype cache. + The prototype cache. + + + Provides a container to cache attributes. + + + Initializes a new instance of the class. + The attributes. + + + Gets the data type. + The data type. + + + Gets the display. + The display. + + + Gets the display column. + The display column. + + + Gets the display format. + The display format. + + + Gets the display name. + The display name. + + + Indicates whether a data field is editable. + true if the field is editable; otherwise, false. + + + Gets the hidden input. + The hidden input. + + + Indicates whether a data field is read only. + true if the field is read only; otherwise, false. + + + Indicates whether a data field is required. + true if the field is required; otherwise, false. + + + Indicates whether a data field is scaffold. + true if the field is scaffold; otherwise, false. + + + Gets the UI hint. + The UI hint. + + + Provides a container to cache . + + + Initializes a new instance of the class using the prototype and model accessor. + The prototype. + The model accessor. + + + Initializes a new instance of the class using the provider, container type, model type, property name and attributes. + The provider. + The container type. + The model type. + The property name. + The attributes. + + + Gets a value that indicates whether empty strings that are posted back in forms should be converted to Nothing.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + A value that indicates whether empty strings that are posted back in forms should be converted to Nothing. + + + Gets meta information about the data type.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + Meta information about the data type. + + + Gets the description of the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + The description of the model. + + + Gets the display format string for the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + The display format string for the model. + + + Gets the display name of the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + The display name of the model. + + + Gets the edit format string of the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + The edit format string of the model. + + + Gets a value that indicates whether the model object should be rendered using associated HTML elements.Gets a value that indicates whether the model object should be rendered using associated HTML elements.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + A value that indicates whether the model object should be rendered using associated HTML elements. + + + Gets a value that indicates whether the model is read-only.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + A value that indicates whether the model is read-only. + + + Gets a value that indicates whether the model is required.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + A value that indicates whether the model is required. + + + Gets the string to display for null values.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + The string to display for null values. + + + Gets a value that represents order of the current metadata.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + A value that represents order of the current metadata. + + + Gets a short display name.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + A short display name. + + + Gets a value that indicates whether the property should be displayed in read-only views such as list and detail views.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + A value that indicates whether the property should be displayed in read-only views such as list and detail views. + + + Gets or sets a value that indicates whether the model should be displayed in editable views.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + Returns . + + + Gets the simple display string for the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + The simple display string for the model. + + + Gets a hint that suggests what template to use for this model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + A hint that suggests what template to use for this model. + + + Gets a value that can be used as a watermark.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache. + A value that can be used as a watermark. + + + Implements the default cached model metadata provider for ASP.NET MVC. + + + Initializes a new instance of the class. + + + Returns a container of real instances of the cached metadata class based on prototype and model accessor. + A container of real instances of the cached metadata class. + The prototype. + The model accessor. + + + Returns a container prototype instances of the metadata class. + a container prototype instances of the metadata class. + The attributes type. + The container type. + The model type. + The property name. + + + Provides a container for cached metadata. + he type of the container. + + + Constructor for creating real instances of the metadata class based on a prototype. + The provider. + The container type. + The model type. + The property name. + The prototype. + + + Constructor for creating the prototype instances of the metadata class. + The prototype. + The model accessor. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether empty strings that are posted back in forms should be converted to null. + A cached value that indicates whether empty strings that are posted back in forms should be converted to null. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets meta information about the data type. + Meta information about the data type. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the description of the model. + The description of the model. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the display format string for the model. + The display format string for the model. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the display name of the model. + The display name of the model. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the edit format string of the model. + The edit format string of the model. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model object should be rendered using associated HTML elements. + A cached value that indicates whether the model object should be rendered using associated HTML elements. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model is read-only. + A cached value that indicates whether the model is read-only. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model is required. + A cached value that indicates whether the model is required. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the cached string to display for null values. + The cached string to display for null values. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that represents order of the current metadata. + A cached value that represents order of the current metadata. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a short display name. + A short display name. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the property should be displayed in read-only views such as list and detail views. + A cached value that indicates whether the property should be displayed in read-only views such as list and detail views. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model should be displayed in editable views. + A cached value that indicates whether the model should be displayed in editable views. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the cached simple display string for the model. + The cached simple display string for the model. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached hint that suggests what template to use for this model. + A cached hint that suggests what template to use for this model. + + + This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that can be used as a watermark. + A cached value that can be used as a watermark. + + + Gets or sets a cached value that indicates whether empty strings that are posted back in forms should be converted to null. + A cached value that indicates whether empty strings that are posted back in forms should be converted to null. + + + Gets or sets meta information about the data type. + The meta information about the data type. + + + Gets or sets the description of the model. + The description of the model. + + + Gets or sets the display format string for the model. + The display format string for the model. + + + Gets or sets the display name of the model. + The display name of the model. + + + Gets or sets the edit format string of the model. + The edit format string of the model. + + + Gets or sets the simple display string for the model. + The simple display string for the model. + + + Gets or sets a value that indicates whether the model object should be rendered using associated HTML elements. + A value that indicates whether the model object should be rendered using associated HTML elements. + + + Gets or sets a value that indicates whether the model is read-only. + A value that indicates whether the model is read-only. + + + Gets or sets a value that indicates whether the model is required. + A value that indicates whether the model is required. + + + Gets or sets the string to display for null values. + The string to display for null values. + + + Gets or sets a value that represents order of the current metadata. + The order value of the current metadata. + + + Gets or sets the prototype cache. + The prototype cache. + + + Gets or sets a short display name. + The short display name. + + + Gets or sets a value that indicates whether the property should be displayed in read-only views such as list and detail views. + true if the model should be displayed in read-only views; otherwise, false. + + + Gets or sets a value that indicates whether the model should be displayed in editable views. + true if the model should be displayed in editable views; otherwise, false. + + + Gets or sets the simple display string for the model. + The simple display string for the model. + + + Gets or sets a hint that suggests what template to use for this model. + A hint that suggests what template to use for this model. + + + Gets or sets a value that can be used as a watermark. + A value that can be used as a watermark. + + + Provides a mechanism to propagates notification that model binder operations should be canceled. + + + Initializes a new instance of the class. + + + Returns the default cancellation token. + The default cancellation token. + The controller context. + The binding context. + + + Represents an attribute that is used to indicate that an action method should be called only as a child action. + + + Initializes a new instance of the class. + + + Called when authorization is required. + An object that encapsulates the information that is required in order to authorize access to the child action. + + + Represents a value provider for values from child actions. + + + Initializes a new instance of the class. + The controller context. + + + Retrieves a value object using the specified key. + The value object for the specified key. + The key. + + + Represents a factory for creating value provider objects for child actions. + + + Initializes a new instance of the class. + + + Returns a object for the specified controller context. + A object. + The controller context. + + + Returns the client data-type model validators. + + + Initializes a new instance of the class. + + + Returns the client data-type model validators. + The client data-type model validators. + The metadata. + The context. + + + Gets the resource class key. + The resource class key. + + + Provides an attribute that compares two properties of a model. + + + Initializes a new instance of the class. + The property to compare with the current property. + + + Applies formatting to an error message based on the data field where the compare error occurred. + The formatted error message. + The name of the field that caused the validation failure. + + + Formats the property for client validation by prepending an asterisk (*) and a dot. + The string "*." is prepended to the property. + The property. + + + Gets a list of compare-value client validation rules for the property using the specified model metadata and controller context. + A list of compare-value client validation rules. + The model metadata. + The controller context. + + + Determines whether the specified object is equal to the compared object. + null if the value of the compared property is equal to the value parameter; otherwise, a validation result that contains the error message that indicates that the comparison failed. + The value of the object to compare. + The validation context. + + + Gets the property to compare with the current property. + The property to compare with the current property. + + + Gets the other properties display name. + The other properties display name. + + + Represents a user-defined content type that is the result of an action method. + + + Initializes a new instance of the class. + + + Gets or sets the content. + The content. + + + Gets or sets the content encoding. + The content encoding. + + + Gets or sets the type of the content. + The type of the content. + + + Enables processing of the result of an action method by a custom type that inherits from the class. + The context within which the result is executed. + The parameter is null. + + + Provides methods that respond to HTTP requests that are made to an ASP.NET MVC Web site. + + + Initializes a new instance of the class. + + + Gets the action invoker for the controller. + The action invoker. + + + Provides asynchronous operations. + Returns . + + + Begins execution of the specified request context + Returns an IAsyncController instance. + The request context. + The callback. + The state. + + + Begins to invoke the action in the current controller context. + Returns an IAsyncController instance. + The callback. + The state. + + + Gets or sets the binder. + The binder. + + + Creates a content result object by using a string. + The content result instance. + The content to write to the response. + + + Creates a content result object by using a string and the content type. + The content result instance. + The content to write to the response. + The content type (MIME type). + + + Creates a content result object by using a string, the content type, and content encoding. + The content result instance. + The content to write to the response. + The content type (MIME type). + The content encoding. + + + Creates an action invoker. + An action invoker. + + + Creates a temporary data provider. + A temporary data provider. + + + Disable asynchronous support to provide backward compatibility. + true if asynchronous support is disabled; otherwise false. + + + Releases all resources that are used by the current instance of the class. + + + Releases unmanaged resources and optionally releases managed resources. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Ends the invocation of the action in the current controller context. + The asynchronous result. + + + Ends the execute core. + The asynchronous result. + + + Invokes the action in the current controller context. + + + Creates a object by using the file contents and file type. + The file-content result object. + The binary content to send to the response. + The content type (MIME type). + + + Creates a object by using the file contents, content type, and the destination file name. + The file-content result object. + The binary content to send to the response. + The content type (MIME type). + The file name to use in the file-download dialog box that is displayed in the browser. + + + Creates a object by using the object and content type. + The file-content result object. + The stream to send to the response. + The content type (MIME type). + + + Creates a object using the object, the content type, and the target file name. + The file-stream result object. + The stream to send to the response. + The content type (MIME type) + The file name to use in the file-download dialog box that is displayed in the browser. + + + Creates a object by using the file name and the content type. + The file-stream result object. + The path of the file to send to the response. + The content type (MIME type). + + + Creates a object by using the file name, the content type, and the file download name. + The file-stream result object. + The path of the file to send to the response. + The content type (MIME type). + The file name to use in the file-download dialog box that is displayed in the browser. + + + Called when a request matches this controller, but no method with the specified action name is found in the controller. + The name of the attempted action. + + + Gets HTTP-specific information about an individual HTTP request. + The HTTP context. + + + Returns an instance of the class. + An instance of the class. + + + Returns an instance of the class. + An instance of the class. + The status description. + + + Initializes data that might not be available when the constructor is called. + The HTTP context and route data. + + + Creates a object. + The object that writes the script to the response. + The JavaScript code to run on the client + + + Creates a object that serializes the specified object to JavaScript Object Notation (JSON). + The JSON result object that serializes the specified object to JSON format. The result object that is prepared by this method is written to the response by the ASP.NET MVC framework when the object is executed. + The JavaScript object graph to serialize. + + + Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format. + The JSON result object that serializes the specified object to JSON format. + The JavaScript object graph to serialize. + The content type (MIME type). + + + Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format. + The JSON result object that serializes the specified object to JSON format. + The JavaScript object graph to serialize. + The content type (MIME type). + The content encoding. + + + Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format using the content type, content encoding, and the JSON request behavior. + The result object that serializes the specified object to JSON format. + The JavaScript object graph to serialize. + The content type (MIME type). + The content encoding. + The JSON request behavior + + + Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format using the specified content type and JSON request behavior. + The result object that serializes the specified object to JSON format. + The JavaScript object graph to serialize. + The content type (MIME type). + The JSON request behavior + + + Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format using the specified JSON request behavior. + The result object that serializes the specified object to JSON format. + The JavaScript object graph to serialize. + The JSON request behavior. + + + Gets the model state dictionary object that contains the state of the model and of model-binding validation. + The model state dictionary. + + + Called after the action method is invoked. + Information about the current request and action. + + + Called before the action method is invoked. + Information about the current request and action. + + + Called when authorization occurs. + Information about the current request and action. + + + Called when an unhandled exception occurs in the action. + Information about the current request and action. + + + Called after the action result that is returned by an action method is executed. + Information about the current request and action result + + + Called before the action result that is returned by an action method is executed. + Information about the current request and action result + + + Creates a object that renders a partial view. + A partial-view result object. + + + Creates a object that renders a partial view, by using the specified model. + A partial-view result object. + The model that is rendered by the partial view + + + Creates a object that renders a partial view, by using the specified view name. + A partial-view result object. + The name of the view that is rendered to the response. + + + Creates a object that renders a partial view, by using the specified view name and model. + A partial-view result object. + The name of the view that is rendered to the response. + The model that is rendered by the partial view + + + Gets the HTTP context profile. + The HTTP context profile. + + + Creates a object that redirects to the specified URL. + The redirect result object. + The URL to redirect to. + + + Returns an instance of the class with the property set to true. + An instance of the class with the property set to true. + The URL to redirect to. + + + Redirects to the specified action using the action name. + The redirect result object. + The name of the action. + + + Redirects to the specified action using the action name and route values. + The redirect result object. + The name of the action. + The parameters for a route. + + + Redirects to the specified action using the action name and controller name. + The redirect result object. + The name of the action. + The name of the controller + + + Redirects to the specified action using the action name, controller name, and route values. + The redirect result object. + The name of the action. + The name of the controller + The parameters for a route. + + + Redirects to the specified action using the action name, controller name, and route dictionary. + The redirect result object. + The name of the action. + The name of the controller + The parameters for a route. + + + Redirects to the specified action using the action name and route dictionary. + The redirect result object. + The name of the action. + The parameters for a route. + + + Returns an instance of the class with the property set to true using the specified action name. + An instance of the class with the property set to true using the specified action name, controller name, and route values. + The action name. + + + Returns an instance of the class with the property set to true using the specified action name, and route values. + An instance of the class with the property set to true using the specified action name, and route values. + The action name. + The route values. + + + Returns an instance of the class with the property set to true using the specified action name, and controller name. + An instance of the class with the property set to true using the specified action name, and controller name. + The action name. + The controller name. + + + Returns an instance of the class with the property set to true using the specified action name, controller name, and route values. + An instance of the class with the property set to true. + The action name. + The controller name. + The route values. + + + Returns an instance of the class with the property set to true using the specified action name, controller name, and route values. + An instance of the class with the property set to true using the specified action name, controller name, and route values. + The action name. + The controller name. + The route values. + + + Returns an instance of the class with the property set to true using the specified action name, and route values. + An instance of the class with the property set to true using the specified action name, and route values. + The action name. + The route values. + + + Redirects to the specified route using the specified route values. + The redirect-to-route result object. + The parameters for a route. + + + Redirects to the specified route using the route name. + The redirect-to-route result object. + The name of the route + + + Redirects to the specified route using the route name and route values. + The redirect-to-route result object. + The name of the route + The parameters for a route. + + + Redirects to the specified route using the route name and route dictionary. + The redirect-to-route result object. + The name of the route + The parameters for a route. + + + Redirects to the specified route using the route dictionary. + The redirect-to-route result object. + The parameters for a route. + + + Returns an instance of the class with the property set to true using the specified route values. + Returns an instance of the class with the property set to true. + The route name. + + + Returns an instance of the class with the property set to true using the specified route name. + Returns an instance of the class with the property set to true using the specified route name. + The route name. + + + Returns an instance of the class with the property set to true using the specified route name and route values. + An instance of the class with the property set to true. + The route name. + The route values. + + + Returns an instance of the class with the property set to true using the specified route name and route values. + An instance of the class with the property set to true using the specified route name and route values. + The route name. + The route values. + + + Returns an instance of the class with the property set to true using the specified route values. + An instance of the class with the property set to true using the specified route values. + The route values. + + + Gets the object for the current HTTP request. + The request object. + + + Gets the object for the current HTTP response. + The response object. + + + Gets the route data for the current request. + The route data. + + + Gets the object that provides methods that are used during Web request processing. + The HTTP server object. + + + Gets the object for the current HTTP request. + The HTTP session-state object for the current HTTP request. + + + Initializes a new instance of the class. + Returns an IAsyncController instance. + The request context. + The callback. + The state. + + + Ends the execute task. + The asynchronous result. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. This method calls the method. + The filter context. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. This method calls the method. + The filter context. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. This method calls the method. + The filter context. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. This method calls the method. + The filter context. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. This method calls the method. + The filter context. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. This method calls the method. + The filter context. + + + Gets the temporary-data provider object that is used to store data for the next request. + The temporary-data provider. + + + Updates the specified model instance using values from the controller's current value provider. + true if the update is successful; otherwise, false. + The model instance to update. + The type of the model object. + The parameter or the property is null. + + + Updates the specified model instance using values from the controller's current value provider and a prefix. + true if the update is successful; otherwise, false. + The model instance to update. + The prefix to use when looking up values in the value provider. + The type of the model object. + The parameter or the property is null. + + + Updates the specified model instance using values from the controller's current value provider, a prefix, and included properties. + true if the update is successful; otherwise, false. + The model instance to update. + The prefix to use when looking up values in the value provider. + A list of properties of the model to update. + The type of the model object. + The parameter or the property is null. + + + Updates the specified model instance using values from the controller's current value provider, a prefix, a list of properties to exclude, and a list of properties to include. + true if the update is successful; otherwise, false. + The model instance to update. + The prefix to use when looking up values in the value provider + A list of properties of the model to update. + A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the parameter list. + The type of the model object. + The parameter or the property is null. + + + Updates the specified model instance using values from the value provider, a prefix, a list of properties to exclude , and a list of properties to include. + true if the update is successful; otherwise, false. + The model instance to update. + The prefix to use when looking up values in the value provider. + A list of properties of the model to update. + A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the parameter list. + A dictionary of values that is used to update the model. + The type of the model object. + + + Updates the specified model instance using values from the value provider, a prefix, and included properties. + true if the update is successful; otherwise, false. + The model instance to update. + The prefix to use when looking up values in the value provider. + A list of properties of the model to update. + A dictionary of values that is used to update the model. + The type of the model object. + + + Updates the specified model instance using values from the value provider and a prefix. + true if the update is successful; otherwise, false. + The model instance to update. + The prefix to use when looking up values in the value provider. + A dictionary of values that is used to update the model. + The type of the model object. + + + Updates the specified model instance using values from the controller's current value provider and included properties. + true if the update is successful; otherwise, false. + The model instance to update. + A list of properties of the model to update. + The type of the model object. + The parameter or the property is null. + + + Updates the specified model instance using values from the value provider and a list of properties to include. + true if the update is successful; otherwise, false. + The model instance to update. + A list of properties of the model to update. + A dictionary of values that is used to update the model. + The type of the model object. + + + Updates the specified model instance using values from the value provider. + true if the update is successful; otherwise, false. + The model instance to update. + A dictionary of values that is used to update the model. + The type of the model object. + + + Validates the specified model instance. + true if the model validation is successful; otherwise, false. + The model instance to validate. + + + Validates the specified model instance using an HTML prefix. + true if the model validation is successful; otherwise, false. + The model to validate. + The prefix to use when looking up values in the model provider. + + + Updates the specified model instance using values from the controller's current value provider. + The model instance to update. + The type of the model object. + The model was not successfully updated. + + + Updates the specified model instance using values from the controller's current value provider and a prefix. + The model instance to update. + A prefix to use when looking up values in the value provider. + The type of the model object. + + + Updates the specified model instance using values from the controller's current value provider, a prefix, and included properties. + The model instance to update. + A prefix to use when looking up values in the value provider. + A list of properties of the model to update. + The type of the model object. + + + Updates the specified model instance using values from the controller's current value provider, a prefix, a list of properties to exclude, and a list of properties to include. + The model instance to update. + A prefix to use when looking up values in the value provider. + A list of properties of the model to update. + A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the list. + The type of the model object. + + + Updates the specified model instance using values from the value provider, a prefix, a list of properties to exclude, and a list of properties to include. + The model instance to update. + The prefix to use when looking up values in the value provider. + A list of properties of the model to update. + A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the parameter list. + A dictionary of values that is used to update the model. + The type of the model object. + + + Updates the specified model instance using values from the value provider, a prefix, and a list of properties to include. + The model instance to update. + The prefix to use when looking up values in the value provider. + A list of properties of the model to update. + A dictionary of values that is used to update the model. + The type of the model object. + + + Updates the specified model instance using values from the value provider and a prefix. + The model instance to update. + The prefix to use when looking up values in the value provider. + A dictionary of values that is used to update the model. + The type of the model object. + + + Updates the specified model instance using values from the controller object's current value provider. + The model instance to update. + A list of properties of the model to update. + The type of the model object. + + + Updates the specified model instance using values from the value provider, a prefix, and a list of properties to include. + The model instance to update. + A list of properties of the model to update. + A dictionary of values that is used to update the model. + The type of the model object. + + + Updates the specified model instance using values from the value provider. + The model instance to update. + A dictionary of values that is used to update the model. + The type of the model object. + + + Gets the URL helper object that is used to generate URLs by using routing. + The URL helper object. + + + Gets the user security information for the current HTTP request. + The user security information for the current HTTP request. + + + Validates the specified model instance. + The model to validate. + + + Validates the specified model instance using an HTML prefix. + The model to validate. + The prefix to use when looking up values in the model provider. + + + Creates a object that renders a view to the response. + The view result that renders a view to the response. + + + Creates a object by using the model that renders a view to the response. + The view result. + The model that is rendered by the view. + + + Creates a object by using the view name that renders a view. + The view result. + The name of the view that is rendered to the response. + + + Creates a object by using the view name and model that renders a view to the response. + The view result. + The name of the view that is rendered to the response. + The model that is rendered by the view. + + + Creates a object using the view name and master-page name that renders a view to the response. + The view result. + The name of the view that is rendered to the response. + The name of the master page or template to use when the view is rendered. + + + Creates a object using the view name, master-page name, and model that renders a view. + The view result. + The name of the view that is rendered to the response. + The name of the master page or template to use when the view is rendered. + The model that is rendered by the view. + + + Creates a object that renders the specified object. + The view result. + The view that is rendered to the response. + + + Creates a object that renders the specified object. + The view result. + The view that is rendered to the response. + The model that is rendered by the view. + + + Gets the view engine collection. + The view engine collection. + + + Represents a class that is responsible for invoking the action methods of a controller. + + + Initializes a new instance of the class. + + + Gets or sets the model binders that are associated with the action. + The model binders that are associated with the action. + + + Creates the action result. + The action result object. + The controller context. + The action descriptor. + The action return value. + + + Finds the information about the action method. + Information about the action method. + The controller context. + The controller descriptor. + The name of the action. + + + Retrieves information about the controller by using the specified controller context. + Information about the controller. + The controller context. + + + Retrieves information about the action filters. + Information about the action filters. + The controller context. + The action descriptor. + + + Gets the value of the specified action-method parameter. + The value of the action-method parameter. + The controller context. + The parameter descriptor. + + + Gets the values of the action-method parameters. + The values of the action-method parameters. + The controller context. + The action descriptor. + + + Invokes the specified action by using the specified controller context. + The result of executing the action. + The controller context. + The name of the action to invoke. + The parameter is null. + The parameter is null or empty. + The thread was aborted during invocation of the action. + An unspecified error occurred during invocation of the action. + + + Invokes the specified action method by using the specified parameters and the controller context. + The result of executing the action method. + The controller context. + The action descriptor. + The parameters. + + + Invokes the specified action method by using the specified parameters, controller context, and action filters. + The context for the ActionExecuted method of the class. + The controller context. + The action filters. + The action descriptor. + The parameters. + + + Invokes the specified action result by using the specified controller context. + The controller context. + The action result. + + + Invokes the specified action result by using the specified action filters and the controller context. + The context for the ResultExecuted method of the class. + The controller context. + The action filters. + The action result. + + + Invokes the specified authorization filters by using the specified action descriptor and controller context. + The context for the object. + The controller context. + The authorization filters. + The action descriptor. + + + Invokes the specified exception filters by using the specified exception and controller context. + The context for the object. + The controller context. + The exception filters. + The exception. + + + Represents the base class for all MVC controllers. + + + Initializes a new instance of the class. + + + Gets or sets the controller context. + The controller context. + + + Executes the specified request context. + The request context. + The parameter is null. + + + Executes the request. + + + Initializes the specified request context. + The request context. + + + Executes the specified request context. + The request context. + + + Gets or sets the dictionary for temporary data. + The dictionary for temporary data. + + + Gets or sets a value that indicates whether request validation is enabled for this request. + true if request validation is enabled for this request; otherwise, false. The default is true. + + + Gets or sets the value provider for the controller. + The value provider for the controller. + + + Gets the dynamic view data dictionary. + The dynamic view data dictionary. + + + Gets or sets the dictionary for view data. + The dictionary for the view data. + + + Represents a class that is responsible for dynamically building a controller. + + + Initializes a new instance of the class. + + + Gets the current controller builder object. + The current controller builder. + + + Gets the default namespaces. + The default namespaces. + + + Gets the associated controller factory. + The controller factory. + + + Sets the controller factory by using the specified type. + The type of the controller factory. + The parameter is null. + The controller factory cannot be assigned from the type in the parameter. + An error occurred while the controller factory was being set. + + + Sets the specified controller factory. + The controller factory. + The parameter is null. + + + Encapsulates information about an HTTP request that matches specified and instances. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using the specified HTTP context, URL route data, and controller. + The HTTP context. + The route data. + The controller. + + + Initializes a new instance of the class by using the specified controller context. + The controller context. + The parameter is null. + + + Initializes a new instance of the class by using the specified request context and controller. + The request context. + The controller. + One or both parameters are null. + + + Gets or sets the controller. + The controller. + + + Gets the display mode. + The display mode. + + + Gets or sets the HTTP context. + The HTTP context. + + + Gets a value that indicates whether the associated action method is a child action. + true if the associated action method is a child action; otherwise, false. + + + Gets an object that contains the view context information for the parent action method. + An object that contains the view context information for the parent action method. + + + Gets or sets the request context. + The request context. + + + Gets or sets the URL route data. + The URL route data. + + + Encapsulates information that describes a controller, such as its name, type, and actions. + + + Initializes a new instance of the class. + + + Gets the name of the controller. + The name of the controller. + + + Gets the type of the controller. + The type of the controller. + + + Finds an action method by using the specified name and controller context. + The information about the action method. + The controller context. + The name of the action. + + + Retrieves a list of action-method descriptors in the controller. + A list of action-method descriptors in the controller. + + + Retrieves custom attributes that are defined for this member, excluding named attributes. + An array of custom attributes, or an empty array if no custom attributes exist. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + + + Retrieves custom attributes of a specified type that are defined for this member, excluding named attributes. + An array of custom attributes, or an empty array if no custom attributes exist. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + The parameter is null (Nothing in Visual Basic). + + + Gets the filter attributes. + The filter attributes. + true if the cache should be used; otherwise, false. + + + Retrieves a value that indicates whether one or more instance of the specified custom attribute are defined for this member. + true if the is defined for this member; otherwise, false. + The type of the custom attribute. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The parameter is null (Nothing in Visual Basic). + + + When implemented in a derived class, gets the unique ID for the controller descriptor using lazy initialization. + The unique ID. + + + Adds the controller to the instance. + + + Initializes a new instance of the class. + + + Returns the collection of controller instance filters. + The collection of controller instance filters. + The controller context. + The action descriptor. + + + Represents an attribute that invokes a custom model binder. + + + Initializes a new instance of the class. + + + Retrieves the associated model binder. + A reference to an object that implements the interface. + + + Provides a container for common metadata, for the class, and for the class for a data model. + + + Initializes a new instance of the class. + The data-annotations model metadata provider. + The type of the container. + The model accessor. + The type of the model. + The name of the property. + The display column attribute. + + + Returns simple text for the model data. + Simple text for the model data. + + + Implements the default model metadata provider for ASP.NET MVC. + + + Initializes a new instance of the class. + + + Gets the metadata for the specified property. + The metadata for the property. + The attributes. + The type of the container. + The model accessor. + The type of the model. + The name of the property. + + + Represents the method that creates a instance. + + + Provides a model validator. + + + Initializes a new instance of the class. + The metadata for the model. + The controller context for the model. + The validation attribute for the model. + + + Gets the validation attribute for the model validator. + The validation attribute for the model validator. + + + Gets the error message for the validation failure. + The error message for the validation failure. + + + Retrieves a collection of client validation rules. + A collection of client validation rules. + + + Gets a value that indicates whether model validation is required. + true if model validation is required; otherwise, false. + + + Returns a list of validation error messages for the model. + A list of validation error messages for the model, or an empty list if no errors have occurred. + The container for the model. + + + Provides a model validator for a specified validation type. + + + + Initializes a new instance of the class. + The metadata for the model. + The controller context for the model. + The validation attribute for the model. + + + Gets the validation attribute from the model validator. + The validation attribute from the model validator. + + + Implements the default validation provider for ASP.NET MVC. + + + Initializes a new instance of the class. + + + Gets or sets a value that indicates whether non-nullable value types are required. + true if non-nullable value types are required; otherwise, false. + + + Gets a list of validators. + A list of validators. + The metadata. + The context. + The list of validation attributes. + + + Registers an adapter to provide client-side validation. + The type of the validation attribute. + The type of the adapter. + + + Registers an adapter factory for the validation provider. + The type of the attribute. + The factory that will be used to create the object for the specified attribute. + + + Registers the default adapter. + The type of the adapter. + + + Registers the default adapter factory. + The factory that will be used to create the object for the default adapter. + + + Registers an adapter to provide default object validation. + The type of the adapter. + + + Registers an adapter factory for the default object validation provider. + The factory. + + + Registers an adapter to provide object validation. + The type of the model. + The type of the adapter. + + + Registers an adapter factory for the object validation provider. + The type of the model. + The factory. + + + Provides a factory for validators that are based on . + + + Provides a container for the error-information model validator. + + + Initializes a new instance of the class. + + + Gets a list of error-information model validators. + A list of error-information model validators. + The model metadata. + The controller context. + + + Represents the controller factory that is registered by default. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using a controller activator. + An object that implements the controller activator interface. + + + Creates the specified controller by using the specified request context. + The controller. + The context of the HTTP request, which includes the HTTP context and route data. + The name of the controller. + The parameter is null. + The parameter is null or empty. + + + Retrieves the controller instance for the specified request context and controller type. + The controller instance. + The context of the HTTP request, which includes the HTTP context and route data. + The type of the controller. + + is null. + + cannot be assigned. + An instance of cannot be created. + + + Returns the controller's session behavior. + The controller's session behavior. + The request context. + The type of the controller. + + + Retrieves the controller type for the specified name and request context. + The controller type. + The context of the HTTP request, which includes the HTTP context and route data. + The name of the controller. + + + Releases the specified controller. + The controller to release. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. This method calls the method. + The controller's session behavior. + The request context. + The controller name. + + + Maps a browser request to a data object. This class provides a concrete implementation of a model binder. + + + Initializes a new instance of the class. + + + Gets or sets the model binders for the application. + The model binders for the application. + + + Binds the model by using the specified controller context and binding context. + The bound object. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + The parameter is null. + + + Binds the specified property by using the specified controller context and binding context and the specified property descriptor. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + Describes a property to be bound. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value. + + + Creates the specified model type by using the specified controller context and binding context. + A data object of the specified type. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + The type of the model object to return. + + + Creates an index (a subindex) based on a category of components that make up a larger index, where the specified index value is an integer. + The name of the subindex. + The prefix for the subindex. + The index value. + + + Creates an index (a subindex) based on a category of components that make up a larger index, where the specified index value is a string. + The name of the subindex. + The prefix for the subindex. + The index value. + + + Creates the name of the subproperty by using the specified prefix and property name. + The name of the subproperty. + The prefix for the subproperty. + The name of the property. + + + Returns a set of properties that match the property filter restrictions that are established by the specified . + An enumerable set of property descriptors. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + + + Returns the properties of the model by using the specified controller context and binding context. + A collection of property descriptors. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + + + Returns the value of a property using the specified controller context, binding context, property descriptor, and property binder. + An object that represents the property value. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + The descriptor for the property to access. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value. + An object that provides a way to bind the property. + + + Returns the descriptor object for a type that is specified by its controller context and binding context. + A custom type descriptor object. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + + + Determines whether a data model is valid for the specified binding context. + true if the model is valid; otherwise, false. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + The parameter is null. + + + Called when the model is updated. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + + + Called when the model is updating. + true if the model is updating; otherwise, false. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + + + Called when the specified property is validated. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + Describes a property to be validated. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value. + The value to set for the property. + + + Called when the specified property is validating. + true if the property is validating; otherwise, false. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + Describes a property being validated. The descriptor provides information such as component type, property type, and property value. It also provides methods to get or set the property value. + The value to set for the property. + + + Gets or sets the name of the resource file (class key) that contains localized string values. + The name of the resource file (class key). + + + Sets the specified property by using the specified controller context, binding context, and property value. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + Describes a property to be set. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value. + The value to set for the property. + + + Represents a memory cache for view locations. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using the specified cache time span. + The cache time span. + The Ticks attribute of the parameter is set to a negative number. + + + Retrieves the default view location by using the specified HTTP context and cache key. + The default view location. + The HTTP context. + The cache key + The parameter is null. + + + Inserts the view in the specified virtual path by using the specified HTTP context, cache key, and virtual path. + The HTTP context. + The cache key. + The virtual path + The parameter is null. + + + Creates an empty view location cache. + + + Gets or sets the cache time span. + The cache time span. + + + Provides a registration point for dependency resolvers that implement or the Common Service Locator IServiceLocator interface. + + + Initializes a new instance of the class. + + + Gets the implementation of the dependency resolver. + The implementation of the dependency resolver. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. + The implementation of the dependency resolver. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. + The function that provides the service. + The function that provides the services. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. + The common service locator. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. + The object that implements the dependency resolver. + + + Provides a registration point for dependency resolvers using the specified service delegate and specified service collection delegates. + The service delegate. + The services delegates. + + + Provides a registration point for dependency resolvers using the provided common service locator when using a service locator interface. + The common service locator. + + + Provides a registration point for dependency resolvers, using the specified dependency resolver interface. + The dependency resolver. + + + Provides a type-safe implementation of and . + + + Resolves singly registered services that support arbitrary object creation. + The requested service or object. + The dependency resolver instance that this method extends. + The type of the requested service or object. + + + Resolves multiply registered services. + The requested services. + The dependency resolver instance that this method extends. + The type of the requested services. + + + Represents the base class for value providers whose values come from a collection that implements the interface. + The type of the value. + + + Initializes a new instance of the class. + The name/value pairs that are used to initialize the value provider. + Information about a specific culture, such as the names of the culture, the writing system, and the calendar used. + The parameter is null. + + + Determines whether the collection contains the specified prefix. + true if the collection contains the specified prefix; otherwise, false. + The prefix to search for. + The parameter is null. + + + Gets the keys from the prefix. + The keys from the prefix. + the prefix. + + + Returns a value object using the specified key and controller context. + The value object for the specified key. + The key of the value object to retrieve. + The parameter is null. + + + Provides an empty metadata provider for data models that do not require metadata. + + + Initializes a new instance of the class. + + + Creates a new instance of the class. + A new instance of the class. + The attributes. + The type of the container. + The model accessor. + The type of the model. + The name of the model. + + + Provides an empty validation provider for models that do not require a validator. + + + Initializes a new instance of the class. + + + Gets the empty model validator. + The empty model validator. + The metadata. + The context. + + + Represents a result that does nothing, such as a controller action method that returns nothing. + + + Initializes a new instance of the class. + + + Executes the specified result context. + The result context. + + + Provides the context for using the class. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class for the specified exception by using the specified controller context. + The controller context. + The exception. + The parameter is null. + + + Gets or sets the exception object. + The exception object. + + + Gets or sets a value that indicates whether the exception has been handled. + true if the exception has been handled; otherwise, false. + + + Gets or sets the action result. + The action result. + + + Provides a helper class to get the model name from an expression. + + + Gets the model name from a lambda expression. + The model name. + The expression. + + + Gets the model name from a string expression. + The model name. + The expression. + + + Provides a container for client-side field validation metadata. + + + Initializes a new instance of the class. + + + Gets or sets the name of the data field. + The name of the data field. + + + Gets or sets a value that indicates whether the validation message contents should be replaced with the client validation error. + true if the validation message contents should be replaced with the client validation error; otherwise, false. + + + Gets or sets the validator message ID. + The validator message ID. + + + Gets the client validation rules. + The client validation rules. + + + Sends the contents of a binary file to the response. + + + Initializes a new instance of the class by using the specified file contents and content type. + The byte array to send to the response. + The content type to use for the response. + The parameter is null. + + + The binary content to send to the response. + The file contents. + + + Writes the file content to the response. + The response. + + + Sends the contents of a file to the response. + + + Initializes a new instance of the class by using the specified file name and content type. + The name of the file to send to the response. + The content type of the response. + The parameter is null or empty. + + + Gets or sets the path of the file that is sent to the response. + The path of the file that is sent to the response. + + + Writes the file to the response. + The response. + + + Represents a base class that is used to send binary file content to the response. + + + Initializes a new instance of the class. + The type of the content. + The parameter is null or empty. + + + Gets the content type to use for the response. + The type of the content. + + + Enables processing of the result of an action method by a custom type that inherits from the class. + The context within which the result is executed. + The parameter is null. + + + Gets or sets the content-disposition header so that a file-download dialog box is displayed in the browser with the specified file name. + The name of the file. + + + Writes the file to the response. + The response. + + + Sends binary content to the response by using a instance. + + + Initializes a new instance of the class. + The stream to send to the response. + The content type to use for the response. + The parameter is null. + + + Gets the stream that will be sent to the response. + The file stream. + + + Writes the file to the response. + The response. + + + Represents a metadata class that contains a reference to the implementation of one or more of the filter interfaces, the filter's order, and the filter's scope. + + + Initializes a new instance of the class. + The instance. + The scope. + The order. + + + Represents a constant that is used to specify the default ordering of filters. + + + Gets the instance of this class. + The instance of this class. + + + Gets the order in which the filter is applied. + The order in which the filter is applied. + + + Gets the scope ordering of the filter. + The scope ordering of the filter. + + + Represents the base class for action and result filter attributes. + + + Initializes a new instance of the class. + + + Gets or sets a value that indicates whether more than one instance of the filter attribute can be specified. + true if more than one instance of the filter attribute can be specified; otherwise, false. + + + Gets or sets the order in which the action filters are executed. + The order in which the action filters are executed. + + + Defines a filter provider for filter attributes. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class and optionally caches attribute instances. + true to cache attribute instances; otherwise, false. + + + Gets a collection of custom action attributes. + A collection of custom action attributes. + The controller context. + The action descriptor. + + + Gets a collection of controller attributes. + A collection of controller attributes. + The controller context. + The action descriptor. + + + Aggregates the filters from all of the filter providers into one collection. + The collection filters from all of the filter providers. + The controller context. + The action descriptor. + + + Encapsulates information about the available action filters. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the specified filters collection. + The filters collection. + + + Gets all the action filters in the application. + The action filters. + + + Gets all the authorization filters in the application. + The authorization filters. + + + Gets all the exception filters in the application. + The exception filters. + + + Gets all the result filters in the application. + The result filters. + + + Represents the collection of filter providers for the application. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the filter providers collection. + The filter providers collection. + + + Returns the collection of filter providers. + The collection of filter providers. + The controller context. + The action descriptor. + + + Provides a registration point for filters. + + + Provides a registration point for filters. + The collection of filters. + + + Defines values that specify the order in which ASP.NET MVC filters run within the same filter type and filter order. + + + Specifies first. + + + Specifies an order before and after . + + + Specifies an order before and after . + + + Specifies an order before and after . + + + Specifies last. + + + Contains the form value providers for the application. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The collection. + The parameter is null. + + + Gets the specified value provider. + The value provider. + The name of the value provider to get. + The parameter is null or empty. + + + Gets a value that indicates whether the value provider contains an entry that has the specified prefix. + true if the value provider contains an entry that has the specified prefix; otherwise, false. + The prefix to look for. + + + Gets a value from a value provider using the specified key. + A value from a value provider. + The key. + + + Returns a dictionary that contains the value providers. + A dictionary of value providers. + + + Encapsulates information that is required in order to validate and process the input data from an HTML form. + + + Initializes a new instance of the class. + + + Gets the field validators for the form. + A dictionary of field validators for the form. + + + Gets or sets the form identifier. + The form identifier. + + + Returns a serialized object that contains the form identifier and field-validation values for the form. + A serialized object that contains the form identifier and field-validation values for the form. + + + Returns the validation value for the specified input field. + The value to validate the field input with. + The name of the field to retrieve the validation value for. + The parameter is either null or empty. + + + Returns the validation value for the specified input field and a value that indicates what to do if the validation value is not found. + The value to validate the field input with. + The name of the field to retrieve the validation value for. + true to create a validation value if one is not found; otherwise, false. + The parameter is either null or empty. + + + Returns a value that indicates whether the specified field has been rendered in the form. + true if the field has been rendered; otherwise, false. + The field name. + + + Sets a value that indicates whether the specified field has been rendered in the form. + The field name. + true to specify that the field has been rendered in the form; otherwise, false. + + + Determines whether client validation errors should be dynamically added to the validation summary. + true if client validation errors should be added to the validation summary; otherwise, false. + + + Gets or sets the identifier for the validation summary. + The identifier for the validation summary. + + + Enumerates the HTTP request types for a form. + + + Specifies a GET request. + + + Specifies a POST request. + + + Represents a value provider for form values that are contained in a object. + + + Initializes a new instance of the class. + An object that encapsulates information about the current HTTP request. + + + Represents a class that is responsible for creating a new instance of a form-value provider object. + + + Initializes a new instance of the class. + + + Returns a form-value provider object for the specified controller context. + A form-value provider object. + An object that encapsulates information about the current HTTP request. + The parameter is null. + + + Represents a class that contains all the global filters. + + + Initializes a new instance of the class. + + + Adds the specified filter to the global filter collection. + The filter. + + + Adds the specified filter to the global filter collection using the specified filter run order. + The filter. + The filter run order. + + + Removes all filters from the global filter collection. + + + Determines whether a filter is in the global filter collection. + true if is found in the global filter collection; otherwise, false. + The filter. + + + Gets the number of filters in the global filter collection. + The number of filters in the global filter collection. + + + Returns an enumerator that iterates through the global filter collection. + An enumerator that iterates through the global filter collection. + + + Removes all the filters that match the specified filter. + The filter to remove. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. + An enumerator that iterates through the global filter collection. + + + This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. + An enumerator that iterates through the global filter collection. + The controller context. + The action descriptor. + + + Represents the global filter collection. + + + Gets or sets the global filter collection. + The global filter collection. + + + Represents an attribute that is used to handle an exception that is thrown by an action method. + + + Initializes a new instance of the class. + + + Gets or sets the type of the exception. + The type of the exception. + + + Gets or sets the master view for displaying exception information. + The master view. + + + Called when an exception occurs. + The action-filter context. + The parameter is null. + + + Gets the unique identifier for this attribute. + The unique identifier for this attribute. + + + Gets or sets the page view for displaying exception information. + The page view. + + + Encapsulates information for handling an error that was thrown by an action method. + + + Initializes a new instance of the class. + The exception. + The name of the controller. + The name of the action. + The parameter is null. + The or parameter is null or empty. + + + Gets or sets the name of the action that was executing when the exception was thrown. + The name of the action. + + + Gets or sets the name of the controller that contains the action method that threw the exception. + The name of the controller. + + + Gets or sets the exception object. + The exception object. + + + Represents an attribute that is used to indicate whether a property or field value should be rendered as a hidden input element. + + + Initializes a new instance of the class. + + + Gets or sets a value that indicates whether to display the value of the hidden input element. + true if the value should be displayed; otherwise, false. + + + Represents support for rendering HTML controls in a view. + + + Initializes a new instance of the class by using the specified view context and view data container. + The view context. + The view data container. + The or the parameter is null. + + + Initializes a new instance of the class by using the specified view context, view data container, and route collection. + The view context. + The view data container. + The route collection. + One or more parameters is null. + + + Replaces underscore characters (_) with hyphens (-) in the specified HTML attributes. + The HTML attributes with underscore characters replaced by hyphens. + The HTML attributes. + + + Generates a hidden form field (anti-forgery token) that is validated when the form is submitted. + The generated form field (anti-forgery token). + + + Generates a hidden form field (anti-forgery token) that is validated when the form is submitted. The field value is generated using the specified salt value. + The generated form field (anti-forgery token). + The salt value, which can be any non-empty string. + + + Generates a hidden form field (anti-forgery token) that is validated when the form is submitted. The field value is generated using the specified salt value, domain, and path. + The generated form field (anti-forgery token). + The salt value, which can be any non-empty string. + The application domain. + The virtual path. + + + Converts the specified attribute object to an HTML-encoded string. + The HTML-encoded string. If the value parameter is null or empty, this method returns an empty string. + The object to encode. + + + Converts the specified attribute string to an HTML-encoded string. + The HTML-encoded string. If the value parameter is null or empty, this method returns an empty string. + The string to encode. + + + Gets or sets a value that indicates whether client validation is enabled. + true if enable client validation is enabled; otherwise, false. + + + Enables input validation that is performed by using client script in the browser. + + + Enables or disables client validation. + true to enable client validation; otherwise, false. + + + Enables unobtrusive JavaScript. + + + Enables or disables unobtrusive JavaScript. + true to enable unobtrusive JavaScript; otherwise, false. + + + Converts the value of the specified object to an HTML-encoded string. + The HTML-encoded string. + The object to encode. + + + Converts the specified string to an HTML-encoded string. + The HTML-encoded string. + The string to encode. + + + Formats the value. + The formatted value. + The value. + The format string. + + + Creates an HTML element ID using the specified element name. + The ID of the HTML element. + The name of the HTML element. + The parameter is null. + + + Creates an HTML element ID using the specified element name and a string that replaces dots in the name. + The ID of the HTML element. + The name of the HTML element. + The string that replaces dots (.) in the parameter. + The parameter or the parameter is null. + + + Generates an HTML anchor element (a element) that links to the specified action method, and enables the user to specify the communication protocol, name of the host, and a URL fragment. + An HTML element that links to the specified action method. + The context of the HTTP request. + The collection of URL routes. + The text caption to display for the link. + The name of the route that is used to return a virtual path. + The name of the action method. + The name of the controller. + The communication protocol, such as HTTP or HTTPS. If this parameter is null, the protocol defaults to HTTP. + The name of the host. + The fragment identifier. + An object that contains the parameters for a route. + An object that contains the HTML attributes for the element. + + + Generates an HTML anchor element (a element) that links to the specified action method. + An HTML element that links to the specified action method. + The context of the HTTP request. + The collection of URL routes. + The text caption to display for the link. + The name of the route that is used to return a virtual path. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. + An object that contains the HTML attributes for the element. + + + Generates an HTML anchor element (a element) that links to the specified URL route, and enables the user to specify the communication protocol, name of the host, and a URL fragment. + An HTML element that links to the specified URL route. + The context of the HTTP request. + The collection of URL routes. + The text caption to display for the link. + The name of the route that is used to return a virtual path. + The communication protocol, such as HTTP or HTTPS. If this parameter is null, the protocol defaults to HTTP. + The name of the host. + The fragment identifier. + An object that contains the parameters for a route. + An object that contains the HTML attributes for the element. + + + Generates an HTML anchor element (a element) that links to the specified URL route. + An HTML element that links to the specified URL route. + The context of the HTTP request. + The collection of URL routes. + The text caption to display for the link. + The name of the route that is used to return a virtual path. + An object that contains the parameters for a route. + An object that contains the HTML attributes for the element. + + + Returns the HTTP method that handles form input (GET or POST) as a string. + The form method string, either "get" or "post". + The HTTP method that handles the form. + + + Returns the HTML input control type as a string. + The input type string ("checkbox", "hidden", "password", "radio", or "text"). + The enumerated input type. + + + Gets the collection of unobtrusive JavaScript validation attributes using the specified HTML name attribute. + The collection of unobtrusive JavaScript validation attributes. + The HTML name attribute. + + + Gets the collection of unobtrusive JavaScript validation attributes using the specified HTML name attribute and model metadata. + The collection of unobtrusive JavaScript validation attributes. + The HTML name attribute. + The model metadata. + + + Returns a hidden input element that identifies the override method for the specified HTTP data-transfer method that was used by the client. + The override method that uses the HTTP data-transfer method that was used by the client. + The HTTP data-transfer method that was used by the client (DELETE, HEAD, or PUT). + The parameter is not "PUT", "DELETE", or "HEAD". + + + Returns a hidden input element that identifies the override method for the specified verb that represents the HTTP data-transfer method used by the client. + The override method that uses the verb that represents the HTTP data-transfer method used by the client. + The verb that represents the HTTP data-transfer method used by the client. + The parameter is not "PUT", "DELETE", or "HEAD". + + + Gets or sets the character that replaces periods in the ID attribute of an element. + The character that replaces periods in the ID attribute of an element. + + + Returns markup that is not HTML encoded. + Markup that is not HTML encoded. + The value. + + + Returns markup that is not HTML encoded. + The HTML markup without encoding. + The HTML markup. + + + Gets or sets the collection of routes for the application. + The collection of routes for the application. + + + Gets or sets a value that indicates whether unobtrusive JavaScript is enabled. + true if unobtrusive JavaScript is enabled; otherwise, false. + + + The name of the CSS class that is used to style an input field when a validation error occurs. + + + The name of the CSS class that is used to style an input field when the input is valid. + + + The name of the CSS class that is used to style the error message when a validation error occurs. + + + The name of the CSS class that is used to style the validation message when the input is valid. + + + The name of the CSS class that is used to style validation summary error messages. + + + The name of the CSS class that is used to style the validation summary when the input is valid. + + + Gets the view bag. + The view bag. + + + Gets or sets the context information about the view. + The context of the view. + + + Gets the current view data dictionary. + The view data dictionary. + + + Gets or sets the view data container. + The view data container. + + + Represents support for rendering HTML controls in a strongly typed view. + The type of the model. + + + Initializes a new instance of the class by using the specified view context and view data container. + The view context. + The view data container. + + + Initializes a new instance of the class by using the specified view context, view data container, and route collection. + The view context. + The view data container. + The route collection. + + + Gets the view bag. + The view bag. + + + Gets the strongly typed view data dictionary. + The strongly typed view data dictionary. + + + Represents an attribute that is used to restrict an action method so that the method handles only HTTP DELETE requests. + + + Initializes a new instance of the class. + + + Determines whether a request is a valid HTTP DELETE request. + true if the request is valid; otherwise, false. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + Encapsulates information about a method, such as its type, return type, and arguments. + + + Represents a value provider to use with values that come from a collection of HTTP files. + + + Initializes a new instance of the class. + An object that encapsulates information about the current HTTP request. + + + Represents a class that is responsible for creating a new instance of an HTTP file collection value provider object. + + + Initializes a new instance of the class. + + + Returns a value provider object for the specified controller context. + An HTTP file collection value provider. + An object that encapsulates information about the HTTP request. + The parameter is null. + + + Represents an attribute that is used to restrict an action method so that the method handles only HTTP GET requests. + + + Initializes a new instance of the class. + + + Determines whether a request is a valid HTTP GET request. + true if the request is valid; otherwise, false. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + Encapsulates information about a method, such as its type, return type, and arguments. + + + Specifies that the HTTP request must be the HTTP HEAD method. + + + Initializes a new instance of the class. + + + Determines whether a request is a valid HTTP HEAD request. + true if the request is HEAD; otherwise, false. + The controller context. + The method info. + + + Defines an object that is used to indicate that the requested resource was not found. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using a status description. + The status description. + + + Represents an attribute that is used to restrict an action method so that the method handles only HTTP OPTIONS requests. + + + Initializes a new instance of the class. + + + Determines whether a request is a valid HTTP OPTIONS request. + true if the request is OPTIONS; otherwise, false. + The controller context. + The method info. + + + Represents an attribute that is used to restrict an action method so that the method handles only HTTP PATCH requests. + + + Initializes a new instance of the class. + + + Determines whether a request is a valid HTTP PATCH request. + true if the request is PATCH; otherwise, false. + The controller context. + The method info. + + + Represents an attribute that is used to restrict an action method so that the method handles only HTTP POST requests. + + + Initializes a new instance of the class. + + + Determines whether a request is a valid HTTP POST request. + true if the request is valid; otherwise, false. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + Encapsulates information about a method, such as its type, return type, and arguments. + + + Binds a model to a posted file. + + + Initializes a new instance of the class. + + + Binds the model. + The bound value. + The controller context. + The binding context. + One or both parameters are null. + + + Represents an attribute that is used to restrict an action method so that the method handles only HTTP PUT requests. + + + Initializes a new instance of the class. + + + Determines whether a request is a valid HTTP PUT request. + true if the request is valid; otherwise, false. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + Encapsulates information about a method, such as its type, return type, and arguments. + + + Extends the class that contains the HTTP values that were sent by a client during a Web request. + + + Retrieves the HTTP data-transfer method override that was used by the client. + The HTTP data-transfer method override that was used by the client. + An object that contains the HTTP values that were sent by a client during a Web request. + The parameter is null. + The HTTP data-transfer method override was not implemented. + + + Provides a way to return an action result with a specific HTTP response status code and description. + + + Initializes a new instance of the class using a status code. + The status code. + + + Initializes a new instance of the class using a status code and status description. + The status code. + The status description. + + + Initializes a new instance of the class using a status code. + The status code. + + + Initializes a new instance of the class using a status code and status description. + The status code. + The status description. + + + Enables processing of the result of an action method by a custom type that inherits from the class. + The context in which the result is executed. The context information includes the controller, HTTP content, request context, and route data. + + + Gets the HTTP status code. + The HTTP status code. + + + Gets the HTTP status description. + the HTTP status description. + + + Represents the result of an unauthorized HTTP request. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the status description. + The status description. + + + Enumerates the HTTP verbs. + + + Retrieves the information or entity that is identified by the URI of the request. + + + Posts a new entity as an addition to a URI. + + + Replaces an entity that is identified by a URI. + + + Requests that a specified URI be deleted. + + + Retrieves the message headers for the information or entity that is identified by the URI of the request. + + + Requests that a set of changes described in the request entity be applied to the resource identified by the Request- URI. + + + Represents a request for information about the communication options available on the request/response chain identified by the Request-URI. + + + Defines the methods that are used in an action filter. + + + Called after the action method executes. + The filter context. + + + Called before an action method executes. + The filter context. + + + Defines the contract for an action invoker, which is used to invoke an action in response to an HTTP request. + + + Invokes the specified action by using the specified controller context. + true if the action was found; otherwise, false. + The controller context. + The name of the action. + + + Defines the methods that are required for an authorization filter. + + + Called when authorization is required. + The filter context. + + + Provides a way for the ASP.NET MVC validation framework to discover at run time whether a validator has support for client validation. + + + When implemented in a class, returns client validation rules for that class. + The client validation rules for this validator. + The model metadata. + The controller context. + + + Defines the methods that are required for a controller. + + + Executes the specified request context. + The request context. + + + Provides fine-grained control over how controllers are instantiated using dependency injection. + + + When implemented in a class, creates a controller. + The created controller. + The request context. + The controller type. + + + Defines the methods that are required for a controller factory. + + + Creates the specified controller by using the specified request context. + The controller. + The request context. + The name of the controller. + + + Gets the controller's session behavior. + The controller's session behavior. + The request context. + The name of the controller whose session behavior you want to get. + + + Releases the specified controller. + The controller. + + + Defines the methods that simplify service location and dependency resolution. + + + Resolves singly registered services that support arbitrary object creation. + The requested service or object. + The type of the requested service or object. + + + Resolves multiply registered services. + The requested services. + The type of the requested services. + + + Represents a special that has the ability to be enumerable. + + + Gets the keys from the prefix. + The keys. + The prefix. + + + Defines the methods that are required for an exception filter. + + + Called when an exception occurs. + The filter context. + + + Provides an interface for finding filters. + + + Returns an enumerator that contains all the instances in the service locator. + The enumerator that contains all the instances in the service locator. + The controller context. + The action descriptor. + + + Provides an interface for exposing attributes to the class. + + + When implemented in a class, provides metadata to the model metadata creation process. + The model metadata. + + + Defines the methods that are required for a model binder. + + + Binds the model to a value by using the specified controller context and binding context. + The bound value. + The controller context. + The binding context. + + + Defines methods that enable dynamic implementations of model binding for classes that implement the interface. + + + Returns the model binder for the specified type. + The model binder for the specified type. + The type of the model. + + + Defines members that specify the order of filters and whether multiple filters are allowed. + + + When implemented in a class, gets or sets a value that indicates whether multiple filters are allowed. + true if multiple filters are allowed; otherwise, false. + + + When implemented in a class, gets the filter order. + The filter order. + + + Enumerates the types of input controls. + + + A check box. + + + A hidden field. + + + A password box. + + + A radio button. + + + A text box. + + + Defines the methods that are required for a result filter. + + + Called after an action result executes. + The filter context. + + + Called before an action result executes. + The filter context. + + + Associates a route with an area in an ASP.NET MVC application. + + + Gets the name of the area to associate the route with. + The name of the area to associate the route with. + + + Defines the contract for temporary-data providers that store data that is viewed on the next request. + + + Loads the temporary data. + The temporary data. + The controller context. + + + Saves the temporary data. + The controller context. + The values. + + + Represents an interface that can skip request validation. + + + Retrieves the value of the object that is associated with the specified key. + The value of the object for the specified key. + The key. + true if validation should be skipped; otherwise, false. + + + Defines the methods that are required for a value provider in ASP.NET MVC. + + + Determines whether the collection contains the specified prefix. + true if the collection contains the specified prefix; otherwise, false. + The prefix to search for. + + + Retrieves a value object using the specified key. + The value object for the specified key. + The key of the value object to retrieve. + + + Defines the methods that are required for a view. + + + Renders the specified view context by using the specified the writer object. + The view context. + The writer object. + + + Defines the methods that are required for a view data dictionary. + + + Gets or sets the view data dictionary. + The view data dictionary. + + + Defines the methods that are required for a view engine. + + + Finds the specified partial view by using the specified controller context. + The partial view. + The controller context. + The name of the partial view. + true to specify that the view engine returns the cached view, if a cached view exists; otherwise, false. + + + Finds the specified view by using the specified controller context. + The page view. + The controller context. + The name of the view. + The name of the master. + true to specify that the view engine returns the cached view, if a cached view exists; otherwise, false. + + + Releases the specified view by using the specified controller context. + The controller context. + The view. + + + Defines the methods that are required in order to cache view locations in memory. + + + Gets the view location by using the specified HTTP context and the cache key. + The view location. + The HTTP context. + The cache key. + + + Inserts the specified view location into the cache by using the specified HTTP context and the cache key. + The HTTP context. + The cache key. + The virtual path. + + + Provides fine-grained control over how view pages are created using dependency injection. + + + Provides fine-grained control over how view pages are created using dependency injection. + The created view page. + The controller context. + The type of the controller. + + + Sends JavaScript content to the response. + + + Initializes a new instance of the class. + + + Enables processing of the result of an action method by a custom type that inherits from the class. + The context within which the result is executed. + The parameter is null. + + + Gets or sets the script. + The script. + + + Specifies whether HTTP GET requests from the client are allowed. + + + HTTP GET requests from the client are allowed. + + + HTTP GET requests from the client are not allowed. + + + Represents a class that is used to send JSON-formatted content to the response. + + + Initializes a new instance of the class. + + + Gets or sets the content encoding. + The content encoding. + + + Gets or sets the type of the content. + The type of the content. + + + Gets or sets the data. + The data. + + + Enables processing of the result of an action method by a custom type that inherits from the class. + The context within which the result is executed. + The parameter is null. + + + Gets or sets a value that indicates whether HTTP GET requests from the client are allowed. + A value that indicates whether HTTP GET requests from the client are allowed. + + + Gets or sets the maximum length of data. + The maximum length of data. + + + Gets or sets the recursion limit. + The recursion limit. + + + Enables action methods to send and receive JSON-formatted text and to model-bind the JSON text to parameters of action methods. + + + Initializes a new instance of the class. + + + Returns a JSON value-provider object for the specified controller context. + A JSON value-provider object for the specified controller context. + The controller context. + + + Maps a browser request to a LINQ object. + + + Initializes a new instance of the class. + + + Binds the model by using the specified controller context and binding context. + The bound data object. If the model cannot be bound, this method returns null. + The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data. + The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider. + + + Represents an attribute that is used to associate a model type to a model-builder type. + + + Initializes a new instance of the class. + The type of the binder. + The parameter is null. + + + Gets or sets the type of the binder. + The type of the binder. + + + Retrieves an instance of the model binder. + A reference to an object that implements the interface. + An error occurred while an instance of the model binder was being created. + + + Represents a class that contains all model binders for the application, listed by binder type. + + + Initializes a new instance of the class. + + + Adds the specified item to the model binder dictionary. + The object to add to the instance. + The object is read-only. + + + Adds the specified item to the model binder dictionary using the specified key. + The key of the element to add. + The value of the element to add. + The object is read-only. + + is null. + An element that has the same key already exists in the object. + + + Removes all items from the model binder dictionary. + The object is read-only. + + + Determines whether the model binder dictionary contains a specified value. + true if is found in the model binder dictionary; otherwise, false. + The object to locate in the object. + + + Determines whether the model binder dictionary contains an element that has the specified key. + true if the model binder dictionary contains an element that has the specified key; otherwise, false. + The key to locate in the object. + + is null. + + + Copies the elements of the model binder dictionary to an array, starting at a specified index. + The one-dimensional array that is the destination of the elements copied from . The array must have zero-based indexing. + The zero-based index in at which copying starts. + + is null. + + is less than 0. + + is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source object is greater than the available space from to the end of the destination array. -or- Type cannot be cast automatically to the type of the destination array. + + + Gets the number of elements in the model binder dictionary. + The number of elements in the model binder dictionary. + + + Gets or sets the default model binder. + The default model binder. + + + Retrieves the model binder for the specified type. + The model binder. + The type of the model to retrieve. + The parameter is null. + + + Retrieves the model binder for the specified type or retrieves the default model binder. + The model binder. + The type of the model to retrieve. + true to retrieve the default model binder. + The parameter is null. + + + Returns an enumerator that can be used to iterate through the collection. + An enumerator that can be used to iterate through the collection. + + + Gets a value that indicates whether the model binder dictionary is read-only. + true if the model binder dictionary is read-only; otherwise, false. + + + Gets or sets the specified key in an object that implements the interface. + The key for the specified item. + The item key. + + + Gets a collection that contains the keys in the model binder dictionary. + A collection that contains the keys in the model binder dictionary. + + + Removes the first occurrence of the specified element from the model binder dictionary. + true if was successfully removed from the model binder dictionary; otherwise, false. This method also returns false if is not found in the model binder dictionary. + The object to remove from the object. + The object is read-only. + + + Removes the element that has the specified key from the model binder dictionary. + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the model binder dictionary. + The key of the element to remove. + The object is read-only. + + is null. + + + Returns an enumerator that can be used to iterate through a collection. + An enumerator that can be used to iterate through the collection. + + + Gets the value that is associated with the specified key. + true if the object that implements contains an element that has the specified key; otherwise, false. + The key of the value to get. + When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. + + is null. + + + Gets a collection that contains the values in the model binder dictionary. + A collection that contains the values in the model binder dictionary. + + + Provides a container for model binder providers. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using a list of model binder providers. + A list of model binder providers. + + + Returns a model binder of the specified type. + A model binder of the specified type. + The type of the model binder. + + + Inserts a model binder provider into the at the specified index. + The index. + The model binder provider. + + + Replaces the model binder provider element at the specified index. + The index. + The model binder provider. + + + Provides a container for model binder providers. + + + Provides a registration point for model binder providers for applications that do not use dependency injection. + The model binder provider collection. + + + Provides global access to the model binders for the application. + + + Gets the model binders for the application. + The model binders for the application. + + + Provides the context in which a model binder functions. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the binding context. + The binding context. + + + Gets or sets a value that indicates whether the binder should use an empty prefix. + true if the binder should use an empty prefix; otherwise, false. + + + Gets or sets the model. + The model. + + + Gets or sets the model metadata. + The model metadata. + + + Gets or sets the name of the model. + The name of the model. + + + Gets or sets the state of the model. + The state of the model. + + + Gets or sets the type of the model. + The type of the model. + + + Gets or sets the property filter. + The property filter. + + + Gets the property metadata. + The property metadata. + + + Gets or sets the value provider. + The value provider. + + + Represents an error that occurs during model binding. + + + Initializes a new instance of the class by using the specified exception. + The exception. + The parameter is null. + + + Initializes a new instance of the class by using the specified exception and error message. + The exception. + The error message. + The parameter is null. + + + Initializes a new instance of the class by using the specified error message. + The error message. + + + Gets or sets the error message. + The error message. + + + Gets or sets the exception object. + The exception object. + + + A collection of instances. + + + Initializes a new instance of the class. + + + Adds the specified object to the model-error collection. + The exception. + + + Adds the specified error message to the model-error collection. + The error message. + + + Provides a container for common metadata, for the class, and for the class for a data model. + + + Initializes a new instance of the class. + The provider. + The type of the container. + The model accessor. + The type of the model. + The name of the model. + + + Gets a dictionary that contains additional metadata about the model. + A dictionary that contains additional metadata about the model. + + + Gets or sets the type of the container for the model. + The type of the container for the model. + + + Gets or sets a value that indicates whether empty strings that are posted back in forms should be converted to null. + true if empty strings that are posted back in forms should be converted to null; otherwise, false. The default value is true. + + + Gets or sets meta information about the data type. + Meta information about the data type. + + + The default order value, which is 10000. + + + Gets or sets the description of the model. + The description of the model. The default value is null. + + + Gets or sets the display format string for the model. + The display format string for the model. + + + Gets or sets the display name of the model. + The display name of the model. + + + Gets or sets the edit format string of the model. + The edit format string of the model. + + + Returns the metadata from the parameter for the model. + The metadata. + An expression that identifies the model. + The view data dictionary. + The type of the parameter. + The type of the value. + + + Gets the metadata from the expression parameter for the model. + The metadata for the model. + An expression that identifies the model. + The view data dictionary. + + + Gets the display name for the model. + The display name for the model. + + + Returns the simple description of the model. + The simple description of the model. + + + Gets a list of validators for the model. + A list of validators for the model. + The controller context. + + + Gets or sets a value that indicates whether the model object should be rendered using associated HTML elements. + true if the associated HTML elements that contains the model object should be included with the object; otherwise, false. + + + Gets or sets a value that indicates whether the model is a complex type. + A value that indicates whether the model is considered a complex type by the MVC framework. + + + Gets a value that indicates whether the type is nullable. + true if the type is nullable; otherwise, false. + + + Gets or sets a value that indicates whether the model is read-only. + true if the model is read-only; otherwise, false. + + + Gets or sets a value that indicates whether the model is required. + true if the model is required; otherwise, false. + + + Gets the value of the model. + The value of the model. For more information about , see the entry ASP.NET MVC 2 Templates, Part 2: ModelMetadata on Brad Wilson's blog + + + Gets the type of the model. + The type of the model. + + + Gets or sets the string to display for null values. + The string to display for null values. + + + Gets or sets a value that represents order of the current metadata. + The order value of the current metadata. + + + Gets a collection of model metadata objects that describe the properties of the model. + A collection of model metadata objects that describe the properties of the model. + + + Gets the property name. + The property name. + + + Gets or sets the provider. + The provider. + + + Gets or sets a value that indicates whether request validation is enabled. + true if request validation is enabled; otherwise, false. + + + Gets or sets a short display name. + The short display name. + + + Gets or sets a value that indicates whether the property should be displayed in read-only views such as list and detail views. + true if the model should be displayed in read-only views; otherwise, false. + + + Gets or sets a value that indicates whether the model should be displayed in editable views. + true if the model should be displayed in editable views; otherwise, false. + + + Gets or sets the simple display string for the model. + The simple display string for the model. + + + Gets or sets a hint that suggests what template to use for this model. + A hint that suggests what template to use for this model. + + + Gets or sets a value that can be used as a watermark. + The watermark. + + + Provides an abstract base class for a custom metadata provider. + + + When overridden in a derived class, initializes a new instance of the object that derives from the class. + + + Gets a object for each property of a model. + A object for each property of a model. + The container. + The type of the container. + + + Gets metadata for the specified property. + A object for the property. + The model accessor. + The type of the container. + The property to get the metadata model for. + + + Gets metadata for the specified model accessor and model type. + A object for the specified model accessor and model type. + The model accessor. + The type of the model. + + + Provides a container for the current instance. + + + Gets or sets the current object. + The current object. + + + Encapsulates the state of model binding to a property of an action-method argument, or to the argument itself. + + + Initializes a new instance of the class. + + + Returns a object that contains any errors that occurred during model binding. + The errors. + + + Returns a object that encapsulates the value that was being bound during model binding. + The value. + + + Represents the state of an attempt to bind a posted form to an action method, which includes validation information. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using values that are copied from the specified model-state dictionary. + The model-state dictionary. + The parameter is null. + + + Adds the specified item to the model-state dictionary. + The object to add to the model-state dictionary. + The model-state dictionary is read-only. + + + Adds an element that has the specified key and value to the model-state dictionary. + The key of the element to add. + The value of the element to add. + The model-state dictionary is read-only. + + is null. + An element that has the specified key already occurs in the model-state dictionary. + + + Adds the specified model error to the errors collection for the model-state dictionary that is associated with the specified key. + The key. + The exception. + + + Adds the specified error message to the errors collection for the model-state dictionary that is associated with the specified key. + The key. + The error message. + + + Removes all items from the model-state dictionary. + The model-state dictionary is read-only. + + + Determines whether the model-state dictionary contains a specific value. + true if is found in the model-state dictionary; otherwise, false. + The object to locate in the model-state dictionary. + + + Determines whether the model-state dictionary contains the specified key. + true if the model-state dictionary contains the specified key; otherwise, false. + The key to locate in the model-state dictionary. + + + Copies the elements of the model-state dictionary to an array, starting at a specified index. + The one-dimensional array that is the destination of the elements copied from the object. The array must have zero-based indexing. + The zero-based index in at which copying starts. + + is null. + + is less than 0. + + is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source collection is greater than the available space from to the end of the destination .-or- Type cannot be cast automatically to the type of the destination . + + + Gets the number of key/value pairs in the collection. + The number of key/value pairs in the collection. + + + Returns an enumerator that can be used to iterate through the collection. + An enumerator that can be used to iterate through the collection. + + + Gets a value that indicates whether the collection is read-only. + true if the collection is read-only; otherwise, false. + + + Gets a value that indicates whether this instance of the model-state dictionary is valid. + true if this instance is valid; otherwise, false. + + + Determines whether there are any objects that are associated with or prefixed with the specified key. + true if the model-state dictionary contains a value that is associated with the specified key; otherwise, false. + The key. + The parameter is null. + + + Gets or sets the value that is associated with the specified key. + The model state item. + The key. + + + Gets a collection that contains the keys in the dictionary. + A collection that contains the keys of the model-state dictionary. + + + Copies the values from the specified object into this dictionary, overwriting existing values if keys are the same. + The dictionary. + + + Removes the first occurrence of the specified object from the model-state dictionary. + true if was successfully removed the model-state dictionary; otherwise, false. This method also returns false if is not found in the model-state dictionary. + The object to remove from the model-state dictionary. + The model-state dictionary is read-only. + + + Removes the element that has the specified key from the model-state dictionary. + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the model-state dictionary. + The key of the element to remove. + The model-state dictionary is read-only. + + is null. + + + Sets the value for the specified key by using the specified value provider dictionary. + The key. + The value. + + + Returns an enumerator that can be used to iterate through the collection. + An enumerator that can be used to iterate through the collection. + + + Attempts to gets the value that is associated with the specified key. + true if the object that implements contains an element that has the specified key; otherwise, false. + The key of the value to get. + When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. + + is null. + + + Gets a collection that contains the values in the dictionary. + A collection that contains the values of the model-state dictionary. + + + Provides a container for a validation result. + + + Initializes a new instance of the class. + + + Gets or sets the name of the member. + The name of the member. + + + Gets or sets the validation result message. + The validation result message. + + + Provides a base class for implementing validation logic. + + + Called from constructors in derived classes to initialize the class. + The metadata. + The controller context. + + + Gets the controller context. + The controller context. + + + When implemented in a derived class, returns metadata for client validation. + The metadata for client validation. + + + Returns a composite model validator for the model. + A composite model validator for the model. + The metadata. + The controller context. + + + Gets or sets a value that indicates whether a model property is required. + true if the model property is required; otherwise, false. + + + Gets the metadata for the model validator. + The metadata for the model validator. + + + When implemented in a derived class, validates the object. + A list of validation results. + The container. + + + Provides a list of validators for a model. + + + When implemented in a derived class, initializes a new instance of the class. + + + Gets a list of validators. + A list of validators. + The metadata. + The context. + + + Provides a container for a list of validation providers. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using a list of model-validation providers. + A list of model-validation providers. + + + Returns the list of model validators. + The list of model validators. + The model metadata. + The controller context. + + + Inserts a model-validator provider into the collection. + The zero-based index at which item should be inserted. + The model-validator provider object to insert. + + + Replaces the model-validator provider element at the specified index. + The zero-based index of the model-validator provider element to replace. + The new value for the model-validator provider element. + + + Provides a container for the current validation provider. + + + Gets the model validator provider collection. + The model validator provider collection. + + + Represents a list of items that users can select more than one item from. + + + Initializes a new instance of the class by using the specified items to include in the list. + The items. + The parameter is null. + + + Initializes a new instance of the class by using the specified items to include in the list and the selected values. + The items. + The selected values. + The parameter is null. + + + Initializes a new instance of the class by using the items to include in the list, the data value field, and the data text field. + The items. + The data value field. + The data text field. + The parameter is null. + + + Initializes a new instance of the class by using the items to include in the list, the data value field, the data text field, and the selected values. + The items. + The data value field. + The data text field. + The selected values. + The parameter is null. + + + Gets or sets the data text field. + The data text field. + + + Gets or sets the data value field. + The data value field. + + + Returns an enumerator that can be used to iterate through the collection. + An enumerator that can be used to iterate through the collection. + + + Gets or sets the items in the list. + The items in the list. + + + Gets or sets the selected values. + The selected values. + + + Returns an enumerator can be used to iterate through a collection. + An enumerator that can be used to iterate through the collection. + + + When implemented in a derived class, provides a metadata class that contains a reference to the implementation of one or more of the filter interfaces, the filter's order, and the filter's scope. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class and specifies the order of filters and whether multiple filters are allowed. + true to specify that multiple filters of the same type are allowed; otherwise, false. + The filter order. + + + Gets a value that indicates whether more than one instance of the filter attribute can be specified. + true if more than one instance of the filter attribute is allowed; otherwise, false. + + + Gets a value that indicates the order in which a filter is applied. + A value that indicates the order in which a filter is applied. + + + Selects the controller that will handle an HTTP request. + + + Initializes a new instance of the class. + The request context. + The parameter is null. + + + Adds the version header by using the specified HTTP context. + The HTTP context. + + + Called by ASP.NET to begin asynchronous request processing. + The status of the asynchronous call. + The HTTP context. + The asynchronous callback method. + The state of the asynchronous object. + + + Called by ASP.NET to begin asynchronous request processing using the base HTTP context. + The status of the asynchronous call. + The HTTP context. + The asynchronous callback method. + The state of the asynchronous object. + + + Gets or sets a value that indicates whether the MVC response header is disabled. + true if the MVC response header is disabled; otherwise, false. + + + Called by ASP.NET when asynchronous request processing has ended. + The asynchronous result. + + + Gets a value that indicates whether another request can use the instance. + true if the instance is reusable; otherwise, false. + + + Contains the header name of the ASP.NET MVC version. + + + Processes the request by using the specified HTTP request context. + The HTTP context. + + + Processes the request by using the specified base HTTP request context. + The HTTP context. + + + Gets the request context. + The request context. + + + Called by ASP.NET to begin asynchronous request processing using the base HTTP context. + The status of the asynchronous call. + The HTTP context. + The asynchronous callback method. + The data. + + + Called by ASP.NET when asynchronous request processing has ended. + The asynchronous result. + + + Gets a value that indicates whether another request can use the instance. + true if the instance is reusable; otherwise, false. + + + Enables processing of HTTP Web requests by a custom HTTP handler that implements the interface. + An object that provides references to the intrinsic server objects (for example, Request, Response, Session, and Server) that are used to service HTTP requests. + + + Represents an HTML-encoded string that should not be encoded again. + + + Initializes a new instance of the class. + The string to create. If no value is assigned, the object is created using an empty-string value. + + + Creates an HTML-encoded string using the specified text value. + An HTML-encoded string. + The value of the string to create . + + + Contains an empty HTML string. + + + Determines whether the specified string contains content or is either null or empty. + true if the string is null or empty; otherwise, false. + The string. + + + Verifies and processes an HTTP request. + + + Initializes a new instance of the class. + + + Called by ASP.NET to begin asynchronous request processing. + The status of the asynchronous call. + The HTTP context. + The asynchronous callback method. + The state. + + + Called by ASP.NET to begin asynchronous request processing. + The status of the asynchronous call. + The base HTTP context. + The asynchronous callback method. + The state. + + + Called by ASP.NET when asynchronous request processing has ended. + The asynchronous result. + + + Called by ASP.NET to begin asynchronous request processing. + The status of the asynchronous call. + The context. + The asynchronous callback method. + An object that contains data. + + + Called by ASP.NET when asynchronous request processing has ended. + The status of the asynchronous operations. + + + Verifies and processes an HTTP request. + The HTTP handler. + The HTTP context. + + + Creates an object that implements the IHttpHandler interface and passes the request context to it. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the specified factory controller object. + The controller factory. + + + Returns the HTTP handler by using the specified HTTP context. + The HTTP handler. + The request context. + + + Returns the session behavior. + The session behavior. + The request context. + + + Returns the HTTP handler by using the specified request context. + The HTTP handler. + The request context. + + + Creates instances of files. + + + Initializes a new instance of the class. + + + Creates a Razor host. + A Razor host. + The virtual path to the target file. + The physical path to the target file. + + + Extends a NameValueCollection object so that the collection can be copied to a specified dictionary. + + + Copies the specified collection to the specified destination. + The collection. + The destination. + + + Copies the specified collection to the specified destination, and optionally replaces previous entries. + The collection. + The destination. + true to replace previous entries; otherwise, false. + + + Represents the base class for value providers whose values come from a object. + + + Initializes a new instance of the class using the specified unvalidated collection. + A collection that contains the values that are used to initialize the provider. + A collection that contains the values that are used to initialize the provider. This collection will not be validated. + An object that contains information about the target culture. + + + Initializes a new instance of the class. + A collection that contains the values that are used to initialize the provider. + An object that contains information about the target culture. + The parameter is null. + + + Determines whether the collection contains the specified prefix. + true if the collection contains the specified prefix; otherwise, false. + The prefix to search for. + The parameter is null. + + + Gets the keys using the specified prefix. + They keys. + The prefix. + + + Returns a value object using the specified key. + The value object for the specified key. + The key of the value object to retrieve. + The parameter is null. + + + Returns a value object using the specified key and validation directive. + The value object for the specified key. + The key. + true if validation should be skipped; otherwise, false. + + + Provides a convenience wrapper for the attribute. + + + Initializes a new instance of the class. + + + Represents an attribute that is used to indicate that a controller method is not an action method. + + + Initializes a new instance of the class. + + + Determines whether the attribute marks a method that is not an action method by using the specified controller context. + true if the attribute marks a valid non-action method; otherwise, false. + The controller context. + The method information. + + + Represents an attribute that is used to mark an action method whose output will be cached. + + + Initializes a new instance of the class. + + + Gets or sets the cache profile name. + The cache profile name. + + + Gets or sets the child action cache. + The child action cache. + + + Gets or sets the cache duration, in seconds. + The cache duration. + + + Returns a value that indicates whether a child action cache is active. + true if the child action cache is active; otherwise, false. + The controller context. + + + Gets or sets the location. + The location. + + + Gets or sets a value that indicates whether to store the cache. + true if the cache should be stored; otherwise, false. + + + This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code. + The filter context. + + + This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code. + The filter context. + + + This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code. + The filter context. + + + This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code. + The filter context. + + + Called before the action result executes. + The filter context, which encapsulates information for using . + The parameter is null. + + + Gets or sets the SQL dependency. + The SQL dependency. + + + Gets or sets the vary-by-content encoding. + The vary-by-content encoding. + + + Gets or sets the vary-by-custom value. + The vary-by-custom value. + + + Gets or sets the vary-by-header value. + The vary-by-header value. + + + Gets or sets the vary-by-param value. + The vary-by-param value. + + + Encapsulates information for binding action-method parameters to a data model. + + + Initializes a new instance of the class. + + + Gets the model binder. + The model binder. + + + Gets a comma-delimited list of property names for which binding is disabled. + The exclude list. + + + Gets a comma-delimited list of property names for which binding is enabled. + The include list. + + + Gets the prefix to use when the MVC framework binds a value to an action parameter or to a model property. + The prefix. + + + Contains information that describes a parameter. + + + Initializes a new instance of the class. + + + Gets the action descriptor. + The action descriptor. + + + Gets the binding information. + The binding information. + + + Gets the default value of the parameter. + The default value of the parameter. + + + Returns an array of custom attributes that are defined for this member, excluding named attributes. + An array of custom attributes, or an empty array if no custom attributes exist. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + + + Returns an array of custom attributes that are defined for this member, identified by type. + An array of custom attributes, or an empty array if no custom attributes exist. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + The parameter is null. + + + Indicates whether one or more instances of a custom attribute type are defined for this member. + true if the custom attribute type is defined for this member; otherwise, false. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The parameter is null. + + + Gets the name of the parameter. + The name of the parameter. + + + Gets the type of the parameter. + The type of the parameter. + + + Represents a base class that is used to send a partial view to the response. + + + Initializes a new instance of the class. + + + Returns the object that is used to render the view. + The view engine result. + The controller context. + An error occurred while the method was attempting to find the view. + + + Provides a registration point for ASP.NET Razor pre-application start code. + + + Registers Razor pre-application start code. + + + Represents a value provider for query strings that are contained in a object. + + + Initializes a new instance of the class. + An object that encapsulates information about the current HTTP request. + + + Represents a class that is responsible for creating a new instance of a query-string value-provider object. + + + Initializes a new instance of the class. + + + Returns a value-provider object for the specified controller context. + A query-string value-provider object. + An object that encapsulates information about the current HTTP request. + The parameter is null. + + + Provides an adapter for the attribute. + + + Initializes a new instance of the class. + The model metadata. + The controller context. + The range attribute. + + + Gets a list of client validation rules for a range check. + A list of client validation rules for a range check. + + + Represents the class used to create views that have Razor syntax. + + + Initializes a new instance of the class. + The controller context. + The view path. + The layout or master page. + A value that indicates whether view start files should be executed before the view. + The set of extensions that will be used when looking up view start files. + + + Initializes a new instance of the class using the view page activator. + The controller context. + The view path. + The layout or master page. + A value that indicates whether view start files should be executed before the view. + The set of extensions that will be used when looking up view start files. + The view page activator. + + + Gets the layout or master page. + The layout or master page. + + + Renders the specified view context by using the specified writer and instance. + The view context. + The writer that is used to render the view to the response. + The instance. + + + Gets a value that indicates whether view start files should be executed before the view. + A value that indicates whether view start files should be executed before the view. + + + Gets or sets the set of file extensions that will be used when looking up view start files. + The set of file extensions that will be used when looking up view start files. + + + Represents a view engine that is used to render a Web page that uses the ASP.NET Razor syntax. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the view page activator. + The view page activator. + + + Creates a partial view using the specified controller context and partial path. + The partial view. + The controller context. + The path to the partial view. + + + Creates a view by using the specified controller context and the paths of the view and master view. + The view. + The controller context. + The path to the view. + The path to the master view. + + + Controls the processing of application actions by redirecting to a specified URI. + + + Initializes a new instance of the class. + The target URL. + The parameter is null. + + + Initializes a new instance of the class using the specified URL and permanent-redirection flag. + The URL. + A value that indicates whether the redirection should be permanent. + + + Enables processing of the result of an action method by a custom type that inherits from the class. + The context within which the result is executed. + The parameter is null. + + + Gets a value that indicates whether the redirection should be permanent. + true if the redirection should be permanent; otherwise, false. + + + Gets or sets the target URL. + The target URL. + + + Represents a result that performs a redirection by using the specified route values dictionary. + + + Initializes a new instance of the class by using the specified route name and route values. + The name of the route. + The route values. + + + Initializes a new instance of the class by using the specified route name, route values, and permanent-redirection flag. + The name of the route. + The route values. + A value that indicates whether the redirection should be permanent. + + + Initializes a new instance of the class by using the specified route values. + The route values. + + + Enables processing of the result of an action method by a custom type that inherits from the class. + The context within which the result is executed. + The parameter is null. + + + Gets a value that indicates whether the redirection should be permanent. + true if the redirection should be permanent; otherwise, false. + + + Gets or sets the name of the route. + The name of the route. + + + Gets or sets the route values. + The route values. + + + Contains information that describes a reflected action method. + + + Initializes a new instance of the class. + The action-method information. + The name of the action. + The controller descriptor. + Either the or parameter is null. + The parameter is null or empty. + + + Gets the name of the action. + The name of the action. + + + Gets the controller descriptor. + The controller descriptor. + + + Executes the specified controller context by using the specified action-method parameters. + The action return value. + The controller context. + The parameters. + The or parameter is null. + + + Returns an array of custom attributes defined for this member, excluding named attributes. + An array of custom attributes, or an empty array if no custom attributes exist. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + + + Returns an array of custom attributes defined for this member, identified by type. + An array of custom attributes, or an empty array if no custom attributes exist. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + + + Gets the filter attributes. + The filter attributes. + true to use the cache, otherwise false. + + + Retrieves the parameters of the action method. + The parameters of the action method. + + + Retrieves the action selectors. + The action selectors. + + + Indicates whether one or more instances of a custom attribute type are defined for this member. + true if the custom attribute type is defined for this member; otherwise, false. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Gets or sets the action-method information. + The action-method information. + + + Gets the unique ID for the reflected action descriptor using lazy initialization. + The unique ID. + + + Contains information that describes a reflected controller. + + + Initializes a new instance of the class. + The type of the controller. + The parameter is null. + + + Gets the type of the controller. + The type of the controller. + + + Finds the specified action for the specified controller context. + The information about the action. + The controller context. + The name of the action. + The parameter is null. + The parameter is null or empty. + + + Returns the list of actions for the controller. + A list of action descriptors for the controller. + + + Returns an array of custom attributes that are defined for this member, excluding named attributes. + An array of custom attributes, or an empty array if no custom attributes exist. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + + + Returns an array of custom attributes that are defined for this member, identified by type. + An array of custom attributes, or an empty array if no custom attributes exist. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + + + Gets the filter attributes. + The filter attributes. + true to use the cache, otherwise false. + + + Returns a value that indicates whether one or more instances of a custom attribute type are defined for this member. + true if the custom attribute type is defined for this member; otherwise, false. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Contains information that describes a reflected action-method parameter. + + + Initializes a new instance of the class. + The parameter information. + The action descriptor. + The or parameter is null. + + + Gets the action descriptor. + The action descriptor. + + + Gets the binding information. + The binding information. + + + Gets the default value of the reflected parameter. + The default value of the reflected parameter. + + + Returns an array of custom attributes that are defined for this member, excluding named attributes. + An array of custom attributes, or an empty array if no custom attributes exist. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + + + Returns an array of custom attributes that are defined for this member, identified by type. + An array of custom attributes, or an empty array if no custom attributes exist. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + The custom attribute type cannot be loaded. + There is more than one attribute of type defined for this member. + + + Returns a value that indicates whether one or more instances of a custom attribute type are defined for this member. + true if the custom attribute type is defined for this member; otherwise, false. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Gets or sets the parameter information. + The parameter information. + + + Gets the name of the parameter. + The name of the parameter. + + + Gets the type of the parameter. + The type of the parameter. + + + Provides an adapter for the attribute. + + + Initializes a new instance of the class. + The model metadata. + The controller context. + The regular expression attribute. + + + Gets a list of regular-expression client validation rules. + A list of regular-expression client validation rules. + + + Provides an attribute that uses the jQuery validation plug-in remote validator. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the specified route name. + The route name. + + + Initializes a new instance of the class using the specified action-method name and controller name. + The name of the action method. + The name of the controller. + + + Initializes a new instance of the class using the specified action-method name, controller name, and area name. + The name of the action method. + The name of the controller. + The name of the area. + + + Gets or sets the additional fields that are required for validation. + The additional fields that are required for validation. + + + Returns a comma-delimited string of validation field names. + A comma-delimited string of validation field names. + The name of the validation property. + + + Formats the error message that is displayed when validation fails. + A formatted error message. + A name to display with the error message. + + + Formats the property for client validation by prepending an asterisk (*) and a dot. + The string "*." Is prepended to the property. + The property. + + + Gets a list of client validation rules for the property. + A list of remote client validation rules for the property. + The model metadata. + The controller context. + + + Gets the URL for the remote validation call. + The URL for the remote validation call. + The controller context. + + + Gets or sets the HTTP method used for remote validation. + The HTTP method used for remote validation. The default value is "Get". + + + This method always returns true. + true + The validation target. + + + Gets the route data dictionary. + The route data dictionary. + + + Gets or sets the route name. + The route name. + + + Gets the route collection from the route table. + The route collection from the route table. + + + Provides an adapter for the attribute. + + + Initializes a new instance of the class. + The model metadata. + The controller context. + The required attribute. + + + Gets a list of required-value client validation rules. + A list of required-value client validation rules. + + + Represents an attribute that forces an unsecured HTTP request to be re-sent over HTTPS. + + + Initializes a new instance of the class. + + + Handles unsecured HTTP requests that are sent to the action method. + An object that encapsulates information that is required in order to use the attribute. + The HTTP request contains an invalid transfer method override. All GET requests are considered invalid. + + + Determines whether a request is secured (HTTPS) and, if it is not, calls the method. + An object that encapsulates information that is required in order to use the attribute. + The parameter is null. + + + Provides the context for the method of the class. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The controller context. + The result object. + true to cancel execution; otherwise, false. + The exception object. + The parameter is null. + + + Gets or sets a value that indicates whether this instance is canceled. + true if the instance is canceled; otherwise, false. + + + Gets or sets the exception object. + The exception object. + + + Gets or sets a value that indicates whether the exception has been handled. + true if the exception has been handled; otherwise, false. + + + Gets or sets the action result. + The action result. + + + Provides the context for the method of the class. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using the specified controller context and action result. + The controller context. + The action result. + The parameter is null. + + + Gets or sets a value that indicates whether this value is "cancel". + true if the value is "cancel"; otherwise, false. + + + Gets or sets the action result. + The action result. + + + Extends a object for MVC routing. + + + Returns an object that contains information about the route and virtual path that are the result of generating a URL in the current area. + An object that contains information about the route and virtual path that are the result of generating a URL in the current area. + An object that contains the routes for the applications. + An object that encapsulates information about the requested route. + The name of the route to use when information about the URL path is retrieved. + An object that contains the parameters for a route. + + + Returns an object that contains information about the route and virtual path that are the result of generating a URL in the current area. + An object that contains information about the route and virtual path that are the result of generating a URL in the current area. + An object that contains the routes for the applications. + An object that encapsulates information about the requested route. + An object that contains the parameters for a route. + + + Ignores the specified URL route for the given list of available routes. + A collection of routes for the application. + The URL pattern for the route to ignore. + The or parameter is null. + + + Ignores the specified URL route for the given list of the available routes and a list of constraints. + A collection of routes for the application. + The URL pattern for the route to ignore. + A set of expressions that specify values for the parameter. + The or parameter is null. + + + Maps the specified URL route. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The URL pattern for the route. + The or parameter is null. + + + Maps the specified URL route and sets default route values. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The URL pattern for the route. + An object that contains default route values. + The or parameter is null. + + + Maps the specified URL route and sets default route values and constraints. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The URL pattern for the route. + An object that contains default route values. + A set of expressions that specify values for the parameter. + The or parameter is null. + + + Maps the specified URL route and sets default route values, constraints, and namespaces. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The URL pattern for the route. + An object that contains default route values. + A set of expressions that specify values for the parameter. + A set of namespaces for the application. + The or parameter is null. + + + Maps the specified URL route and sets default route values and namespaces. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The URL pattern for the route. + An object that contains default route values. + A set of namespaces for the application. + The or parameter is null. + + + Maps the specified URL route and sets the namespaces. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The URL pattern for the route. + A set of namespaces for the application. + The or parameter is null. + + + Represents a value provider for route data that is contained in an object that implements the interface. + + + Initializes a new instance of the class. + An object that contain information about the HTTP request. + + + Represents a factory for creating route-data value provider objects. + + + Initialized a new instance of the class. + + + Returns a value-provider object for the specified controller context. + A value-provider object. + An object that encapsulates information about the current HTTP request. + The parameter is null. + + + Represents a list that lets users select one item. + + + Initializes a new instance of the class by using the specified items for the list. + The items. + + + Initializes a new instance of the class by using the specified items for the list and a selected value. + The items. + The selected value. + + + Initializes a new instance of the class by using the specified items for the list, the data value field, and the data text field. + The items. + The data value field. + The data text field. + + + Initializes a new instance of the class by using the specified items for the list, the data value field, the data text field, and a selected value. + The items. + The data value field. + The data text field. + The selected value. + + + Gets the list value that was selected by the user. + The selected value. + + + Represents the selected item in an instance of the class. + + + Initializes a new instance of the class. + + + Gets or sets a value that indicates whether this is selected. + true if the item is selected; otherwise, false. + + + Gets or sets the text of the selected item. + The text. + + + Gets or sets the value of the selected item. + The value. + + + Specifies the session state of the controller. + + + Initializes a new instance of the class + The type of the session state. + + + Get the session state behavior for the controller. + The session state behavior for the controller. + + + Provides session-state data to the current object. + + + Initializes a new instance of the class. + + + Loads the temporary data by using the specified controller context. + The temporary data. + The controller context. + An error occurred when the session context was being retrieved. + + + Saves the specified values in the temporary data dictionary by using the specified controller context. + The controller context. + The values. + An error occurred the session context was being retrieved. + + + Provides an adapter for the attribute. + + + Initializes a new instance of the class. + The model metadata. + The controller context. + The string-length attribute. + + + Gets a list of string-length client validation rules. + A list of string-length client validation rules. + + + Represents a set of data that persists only from one request to the next. + + + Initializes a new instance of the class. + + + Adds an element that has the specified key and value to the object. + The key of the element to add. + The value of the element to add. + The object is read-only. + + is null. + An element that has the same key already exists in the object. + + + Removes all items from the instance. + The object is read-only. + + + Determines whether the instance contains an element that has the specified key. + true if the instance contains an element that has the specified key; otherwise, false. + The key to locate in the instance. + + is null. + + + Determines whether the dictionary contains the specified value. + true if the dictionary contains the specified value; otherwise, false. + The value. + + + Gets the number of elements in the object. + The number of elements in the object. + + + Gets the enumerator. + The enumerator. + + + Gets or sets the object that has the specified key. + The object that has the specified key. + The key to access. + + + Marks all keys in the dictionary for retention. + + + Marks the specified key in the dictionary for retention. + The key to retain in the dictionary. + + + Gets an object that contains the keys of elements in the object. + The keys of the elements in the object. + + + Loads the specified controller context by using the specified data provider. + The controller context. + The temporary data provider. + + + Returns an object that contains the element that is associated with the specified key, without marking the key for deletion. + An object that contains the element that is associated with the specified key. + The key of the element to return. + + + Removes the element that has the specified key from the object. + true if the element was removed successfully; otherwise, false. This method also returns false if was not found in the . instance. + The key of the element to remove. + The object is read-only. + + is null. + + + Saves the specified controller context by using the specified data provider. + The controller context. + The temporary data provider. + + + Adds the specified key/value pair to the dictionary. + The key/value pair. + + + Determines whether a sequence contains a specified element by using the default equality comparer. + true if the dictionary contains the specified key/value pair; otherwise, false. + The key/value pair to search for. + + + Copies a key/value pair to the specified array at the specified index. + The target array. + The index. + + + Gets a value that indicates whether the dictionary is read-only. + true if the dictionary is read-only; otherwise, false. + + + Deletes the specified key/value pair from the dictionary. + true if the key/value pair was removed successfully; otherwise, false. + The key/value pair. + + + Returns an enumerator that can be used to iterate through a collection. + An object that can be used to iterate through the collection. + + + Gets the value of the element that has the specified key. + true if the object that implements contains an element that has the specified key; otherwise, false. + The key of the value to get. + When this method returns, the value that is associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. + + is null. + + + Gets the object that contains the values in the object. + The values of the elements in the object that implements . + + + Encapsulates information about the current template context. + + + Initializes a new instance of the class. + + + Gets or sets the formatted model value. + The formatted model value. + + + Retrieves the full DOM ID of a field using the specified HTML name attribute. + The full DOM ID. + The value of the HTML name attribute. + + + Retrieves the fully qualified name (including a prefix) for a field using the specified HTML name attribute. + The prefixed name of the field. + The value of the HTML name attribute. + + + Gets or sets the HTML field prefix. + The HTML field prefix. + + + Contains the number of objects that were visited by the user. + The number of objects. + + + Determines whether the template has been visited by the user. + true if the template has been visited by the user; otherwise, false. + An object that encapsulates information that describes the model. + + + Contains methods to build URLs for ASP.NET MVC within an application. + + + Initializes a new instance of the class using the specified request context. + An object that contains information about the current request and about the route that it matched. + The parameter is null. + + + Initializes a new instance of the class by using the specified request context and route collection. + An object that contains information about the current request and about the route that it matched. + A collection of routes. + The or the parameter is null. + + + Generates a fully qualified URL to an action method by using the specified action name. + The fully qualified URL to an action method. + The name of the action method. + + + Generates a fully qualified URL to an action method by using the specified action name and route values. + The fully qualified URL to an action method. + The name of the action method. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + + + Generates a fully qualified URL to an action method by using the specified action name and controller name. + The fully qualified URL to an action method. + The name of the action method. + The name of the controller. + + + Generates a fully qualified URL to an action method by using the specified action name, controller name, and route values. + The fully qualified URL to an action method. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + + + Generates a fully qualified URL to an action method by using the specified action name, controller name, route values, and protocol to use. + The fully qualified URL to an action method. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + The protocol for the URL, such as "http" or "https". + + + Generates a fully qualified URL to an action method by using the specified action name, controller name, and route values. + The fully qualified URL to an action method. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. + + + Generates a fully qualified URL for an action method by using the specified action name, controller name, route values, protocol to use, and host name. + The fully qualified URL to an action method. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. + The protocol for the URL, such as "http" or "https". + The host name for the URL. + + + Generates a fully qualified URL to an action method for the specified action name and route values. + The fully qualified URL to an action method. + The name of the action method. + An object that contains the parameters for a route. + + + Converts a virtual (relative) path to an application absolute path. + The application absolute path. + The virtual path of the content. + + + Encodes special characters in a URL string into character-entity equivalents. + An encoded URL string. + The text to encode. + + + Returns a string that contains a content URL. + A string that contains a content URL. + The content path. + The HTTP context. + + + Returns a string that contains a URL. + A string that contains a URL. + The route name. + The action name. + The controller name. + The HTTP protocol. + The host name. + The fragment. + The route values. + The route collection. + The request context. + true to include implicit MVC values; otherwise false. + + + Returns a string that contains a URL. + A string that contains a URL. + The route name. + The action name. + The controller name. + The route values. + The route collection. + The request context. + true to include implicit MVC values; otherwise. false. + + + Generates a fully qualified URL for the specified route values. + A fully qualified URL for the specified route values. + The route name. + The route values. + + + Generates a fully qualified URL for the specified route values. + A fully qualified URL for the specified route values. + The route name. + The route values. + + + Returns a value that indicates whether the URL is local. + true if the URL is local; otherwise, false. + The URL. + + + Gets information about an HTTP request that matches a defined route. + The request context. + + + Gets a collection that contains the routes that are registered for the application. + The route collection. + + + Generates a fully qualified URL for the specified route values. + The fully qualified URL. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + + + Generates a fully qualified URL for the specified route name. + The fully qualified URL. + The name of the route that is used to generate the URL. + + + Generates a fully qualified URL for the specified route values by using a route name. + The fully qualified URL. + The name of the route that is used to generate the URL. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + + + Generates a fully qualified URL for the specified route values by using a route name and the protocol to use. + The fully qualified URL. + The name of the route that is used to generate the URL. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + The protocol for the URL, such as "http" or "https". + + + Generates a fully qualified URL for the specified route values by using a route name. + The fully qualified URL. + The name of the route that is used to generate the URL. + An object that contains the parameters for a route. + + + Generates a fully qualified URL for the specified route values by using the specified route name, protocol to use, and host name. + The fully qualified URL. + The name of the route that is used to generate the URL. + An object that contains the parameters for a route. + The protocol for the URL, such as "http" or "https". + The host name for the URL. + + + Generates a fully qualified URL for the specified route values. + The fully qualified URL. + An object that contains the parameters for a route. + + + Represents an optional parameter that is used by the class during routing. + + + Contains the read-only value for the optional parameter. + + + Returns an empty string. This method supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. + An empty string. + + + Provides an object adapter that can be validated. + + + Initializes a new instance of the class. + The model metadata. + The controller context. + + + Validates the specified object. + A list of validation results. + The container. + + + Represents an attribute that is used to prevent forgery of a request. + + + Initializes a new instance of the class. + + + Called when authorization is required. + The filter context. + The parameter is null. + + + Gets or sets the salt string. + The salt string. + + + Represents an attribute that is used to mark action methods whose input must be validated. + + + Initializes a new instance of the class. + true to enable validation. + + + Gets or sets a value that indicates whether to enable validation. + true if validation is enabled; otherwise, false. + + + Called when authorization is required. + The filter context. + The parameter is null. + + + Represents the collection of value-provider objects for the application. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class and registers the specified value providers. + The list of value providers to register. + + + Determines whether the collection contains the specified prefix. + true if the collection contains the specified prefix; otherwise, false. + The prefix to search for. + + + Gets the keys using the specified prefix. + They keys. + The prefix. + + + Returns a value object using the specified key. + The value object for the specified key. + The key of the value object to retrieve. + + + Returns a value object using the specified key and skip-validation parameter. + The value object for the specified key. + The key of the value object to retrieve. + true to specify that validation should be skipped; otherwise, false. + + + Inserts the specified value-provider object into the collection at the specified index location. + The zero-based index location at which to insert the value provider into the collection. + The value-provider object to insert. + The parameter is null. + + + Replaces the value provider at the specified index location with a new value provider. + The zero-based index of the element to replace. + The new value for the element at the specified index. + The parameter is null. + + + Represents a dictionary of value providers for the application. + + + Initializes a new instance of the class. + The controller context. + + + Adds the specified item to the collection of value providers. + The object to add to the object. + The object is read-only. + + + Adds an element that has the specified key and value to the collection of value providers. + The key of the element to add. + The value of the element to add. + The object is read-only. + + is null. + An element that has the specified key already exists in the object. + + + Adds an element that has the specified key and value to the collection of value providers. + The key of the element to add. + The value of the element to add. + The object is read-only. + + is null. + An element that has the specified key already exists in the object. + + + Removes all items from the collection of value providers. + The object is read-only. + + + Determines whether the collection of value providers contains the specified item. + true if is found in the collection of value providers; otherwise, false. + The object to locate in the instance. + + + Determines whether the collection of value providers contains an element that has the specified key. + true if the collection of value providers contains an element that has the key; otherwise, false. + The key of the element to find in the instance. + + is null. + + + Gets or sets the controller context. + The controller context. + + + Copies the elements of the collection to an array, starting at the specified index. + The one-dimensional array that is the destination of the elements copied from the object. The array must have zero-based indexing. + The zero-based index in at which copying starts. + + is null. + + is less than 0. + + is multidimensional.-or- is equal to or greater than the length of .-or-The number of elements in the source collection is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination array. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + Returns an enumerator that can be used to iterate through the collection. + An enumerator that can be used to iterate through the collection. + + + Gets a value that indicates whether the collection is read-only. + true if the collection is read-only; otherwise, false. + + + Gets or sets the object that has the specified key. + The object. + The key. + + + Gets a collection that contains the keys of the instance. + A collection that contains the keys of the object that implements the interface. + + + Removes the first occurrence of the specified item from the collection of value providers. + true if was successfully removed from the collection; otherwise, false. This method also returns false if is not found in the collection. + The object to remove from the instance. + The object is read-only. + + + Removes the element that has the specified key from the collection of value providers. + true if the element was successfully removed; otherwise, false. This method also returns false if was not found in the collection. + The key of the element to remove. + The object is read-only. + + is null. + + + Returns an enumerator that can be used to iterate through a collection. + An enumerator that can be used to iterate through the collection. + + + Determines whether the collection contains the specified prefix. + true if the collection contains the specified prefix; otherwise, false. + The prefix to search for. + + + Returns a value object using the specified key. + The value object for the specified key. + The key of the value object to return. + + + Gets the value of the element that has the specified key. + true if the object that implements contains an element that has the specified key; otherwise, false. + The key of the element to get. + When this method returns, the value that is associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. + + is null. + + + Gets a collection that contains the values in the object. + A collection of the values in the object that implements the interface. + + + Represents a container for value-provider factory objects. + + + Gets the collection of value-provider factories for the application. + The collection of value-provider factory objects. + + + Represents a factory for creating value-provider objects. + + + Initializes a new instance of the class. + + + Returns a value-provider object for the specified controller context. + A value-provider object. + An object that encapsulates information about the current HTTP request. + + + Represents the collection of value-provider factories for the application. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the specified list of value-provider factories. + A list of value-provider factories to initialize the collection with. + + + Returns the value-provider factory for the specified controller context. + The value-provider factory object for the specified controller context. + An object that encapsulates information about the current HTTP request. + + + Inserts the specified value-provider factory object at the specified index location. + The zero-based index location at which to insert the value provider into the collection. + The value-provider factory object to insert. + The parameter is null. + + + Sets the specified value-provider factory object at the given index location. + The zero-based index location at which to insert the value provider into the collection. + The value-provider factory object to set. + The parameter is null. + + + Represents the result of binding a value (such as from a form post or query string) to an action-method argument property, or to the argument itself. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using the specified raw value, attempted value, and culture information. + The raw value. + The attempted value. + The culture. + + + Gets or sets the raw value that is converted to a string for display. + The raw value. + + + Converts the value that is encapsulated by this result to the specified type. + The converted value. + The target type. + The parameter is null. + + + Converts the value that is encapsulated by this result to the specified type by using the specified culture information. + The converted value. + The target type. + The culture to use in the conversion. + The parameter is null. + + + Gets or sets the culture. + The culture. + + + Gets or set the raw value that is supplied by the value provider. + The raw value. + + + Encapsulates information that is related to rendering a view. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using the specified controller context, view, view data dictionary, temporary data dictionary, and text writer. + Encapsulates information about the HTTP request. + The view to render. + The dictionary that contains the data that is required in order to render the view. + The dictionary that contains temporary data for the view. + The text writer object that is used to write HTML output. + One of the parameters is null. + + + Gets or sets a value that indicates whether client-side validation is enabled. + true if client-side validation is enabled; otherwise, false. + + + Gets or sets an object that encapsulates information that is required in order to validate and process the input data from an HTML form. + An object that encapsulates information that is required in order to validate and process the input data from an HTML form. + + + Writes the client validation information to the HTTP response. + + + Gets data that is associated with this request and that is available for only one request. + The temporary data. + + + Gets or sets a value that indicates whether unobtrusive JavaScript is enabled. + true if unobtrusive JavaScript is enabled; otherwise, false. + + + Gets an object that implements the interface to render in the browser. + The view. + + + Gets the dynamic view data dictionary. + The dynamic view data dictionary. + + + Gets the view data that is passed to the view. + The view data. + + + Gets or sets the text writer object that is used to write HTML output. + The object that is used to write the HTML output. + + + Represents a container that is used to pass data between a controller and a view. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using the specified model. + The model. + + + Initializes a new instance of the class by using the specified dictionary. + The dictionary. + The parameter is null. + + + Adds the specified item to the collection. + The object to add to the collection. + The collection is read-only. + + + Adds an element to the collection using the specified key and value . + The key of the element to add. + The value of the element to add. + The object is read-only. + + is null. + An element with the same key already exists in the object. + + + Removes all items from the collection. + The object is read-only. + + + Determines whether the collection contains the specified item. + true if is found in the collection; otherwise, false. + The object to locate in the collection. + + + Determines whether the collection contains an element that has the specified key. + true if the collection contains an element that has the specified key; otherwise, false. + The key of the element to locate in the collection. + + is null. + + + Copies the elements of the collection to an array, starting at a particular index. + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than 0. + + is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source collection is greater than the available space from to the end of the destination .-or- Type cannot be cast automatically to the type of the destination . + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + Evaluates the specified expression. + The results of the evaluation. + The expression. + The parameter is null or empty. + + + Evaluates the specified expression by using the specified format. + The results of the evaluation. + The expression. + The format. + + + Returns an enumerator that can be used to iterate through the collection. + An enumerator that can be used to iterate through the collection. + + + Returns information about the view data as defined by the parameter. + An object that contains the view data information that is defined by the parameter. + A set of key/value pairs that define the view-data information to return. + The parameter is either null or empty. + + + Gets a value that indicates whether the collection is read-only. + true if the collection is read-only; otherwise, false. + + + Gets or sets the item that is associated with the specified key. + The value of the selected item. + The key. + + + Gets a collection that contains the keys of this dictionary. + A collection that contains the keys of the object that implements . + + + Gets or sets the model that is associated with the view data. + The model that is associated with the view data. + + + Gets or sets information about the model. + Information about the model. + + + Gets the state of the model. + The state of the model. + + + Removes the first occurrence of a specified object from the collection. + true if was successfully removed from the collection; otherwise, false. This method also returns false if is not found in the collection. + The object to remove from the collection. + The collection is read-only. + + + Removes the element from the collection using the specified key. + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original collection. + The key of the element to remove. + The collection is read-only. + + is null. + + + Sets the data model to use for the view. + The data model to use for the view. + + + Returns an enumerator that can be used to iterate through the collection. + An enumerator that can be used to iterate through the collection. + + + Gets or sets an object that encapsulates information about the current template context. + An object that contains information about the current template. + + + Attempts to retrieve the value that is associated with the specified key. + true if the collection contains an element with the specified key; otherwise, false. + The key of the value to get. + When this method returns, the value that is associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. + + is null. + + + Gets a collection that contains the values in this dictionary. + A collection that contains the values of the object that implements . + + + Represents a container that is used to pass strongly typed data between a controller and a view. + The type of the model. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using the specified view data dictionary. + An existing view data dictionary to copy into this instance. + + + Initializes a new instance of the class by using the specified model. + The data model to use for the view. + + + Gets or sets the model. + A reference to the data model. + + + Gets or sets information about the model. + Information about the model. + + + Sets the data model to use for the view. + The data model to use for the view. + An error occurred while the model was being set. + + + Encapsulates information about the current template content that is used to develop templates and about HTML helpers that interact with templates. + + + Initializes a new instance of the class. + + + Initializes a new instance of the T:System.Web.Mvc.ViewDataInfo class and associates a delegate for accessing the view data information. + A delegate that defines how the view data information is accessed. + + + Gets or sets the object that contains the values to be displayed by the template. + The object that contains the values to be displayed by the template. + + + Gets or sets the description of the property to be displayed by the template. + The description of the property to be displayed by the template. + + + Gets or sets the current value to be displayed by the template. + The current value to be displayed by the template. + + + Represents a collection of view engines that are available to the application. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using the specified list of view engines. + The list that is wrapped by the new collection. + + is null. + + + Finds the specified partial view by using the specified controller context. + The partial view. + The controller context. + The name of the partial view. + The parameter is null. + The parameter is null or empty. + + + Finds the specified view by using the specified controller context and master view. + The view. + The controller context. + The name of the view. + The name of the master view. + The parameter is null. + The parameter is null or empty. + + + Inserts an element into the collection at the specified index. + The zero-based index at which should be inserted. + The object to insert. + + is less than zero.-or- is greater than the number of items in the collection. + The parameter is null. + + + Replaces the element at the specified index. + The zero-based index of the element to replace. + The new value for the element at the specified index. + + is less than zero.-or- is greater than the number of items in the collection. + The parameter is null. + + + Represents the result of locating a view engine. + + + Initializes a new instance of the class by using the specified searched locations. + The searched locations. + The parameter is null. + + + Initializes a new instance of the class by using the specified view and view engine. + The view. + The view engine. + The or parameter is null. + + + Gets or sets the searched locations. + The searched locations. + + + Gets or sets the view. + The view. + + + Gets or sets the view engine. + The view engine. + + + Represents a collection of view engines that are available to the application. + + + Gets the view engines. + The view engines. + + + Represents the information that is needed to build a master view page. + + + Initializes a new instance of the class. + + + Gets the AJAX script for the master page. + The AJAX script for the master page. + + + Gets the HTML for the master page. + The HTML for the master page. + + + Gets the model. + The model. + + + Gets the temporary data. + The temporary data. + + + Gets the URL. + The URL. + + + Gets the dynamic view-bag dictionary. + The dynamic view-bag dictionary. + + + Gets the view context. + The view context. + + + Gets the view data. + The view data. + + + Gets the writer that is used to render the master page. + The writer that is used to render the master page. + + + Represents the information that is required in order to build a strongly typed master view page. + The type of the model. + + + Initializes a new instance of the class. + + + Gets the AJAX script for the master page. + The AJAX script for the master page. + + + Gets the HTML for the master page. + The HTML for the master page. + + + Gets the model. + A reference to the data model. + + + Gets the view data. + The view data. + + + Represents the properties and methods that are needed to render a view as a Web Forms page. + + + Initializes a new instance of the class. + + + Gets or sets the object that is used to render HTML in Ajax scenarios. + The Ajax helper object that is associated with the view. + + + Gets or sets the object that is used to render HTML elements. + The HTML helper object that is associated with the view. + + + Initializes the , , and properties. + + + Gets or sets the path of the master view. + The path of the master view. + + + Gets the Model property of the associated object. + The Model property of the associated object. + + + Raises the event at the beginning of page initialization. + The event data. + + + Enables processing of the specified HTTP request by the ASP.NET MVC framework. + An object that encapsulates HTTP-specific information about the current HTTP request. + + + Initializes the object that receives the page content to be rendered. + The object that receives the page content. + + + Renders the view page to the response using the specified view context. + An object that encapsulates the information that is required in order to render the view, which includes the controller context, form context, the temporary data, and the view data for the associated view. + + + Sets the text writer that is used to render the view to the response. + The writer that is used to render the view to the response. + + + Sets the view data dictionary for the associated view. + A dictionary of data to pass to the view. + + + Gets the temporary data to pass to the view. + The temporary data to pass to the view. + + + Gets or sets the URL of the rendered page. + The URL of the rendered page. + + + Gets the view bag. + The view bag. + + + Gets or sets the information that is used to render the view. + The information that is used to render the view, which includes the form context, the temporary data, and the view data of the associated view. + + + Gets or sets a dictionary that contains data to pass between the controller and the view. + A dictionary that contains data to pass between the controller and the view. + + + Gets the text writer that is used to render the view to the response. + The text writer that is used to render the view to the response. + + + Represents the information that is required in order to render a strongly typed view as a Web Forms page. + The type of the model. + + + Initializes a new instance of the class. + + + Gets or sets the object that supports rendering HTML in Ajax scenarios. + The Ajax helper object that is associated with the view. + + + Gets or sets the object that provides support for rendering elements. + The HTML helper object that is associated with the view. + + + Instantiates and initializes the and properties. + + + Gets the property of the associated object. + A reference to the data model. + + + Sets the view data dictionary for the associated view. + A dictionary of data to pass to the view. + + + Gets or sets a dictionary that contains data to pass between the controller and the view. + A dictionary that contains data to pass between the controller and the view. + + + Represents a class that is used to render a view by using an instance that is returned by an object. + + + Initializes a new instance of the class. + + + Searches the registered view engines and returns the object that is used to render the view. + The object that is used to render the view. + The controller context. + An error occurred while the method was searching for the view. + + + Gets the name of the master view (such as a master page or template) to use when the view is rendered. + The name of the master view. + + + Represents a base class that is used to provide the model to the view and then render the view to the response. + + + Initializes a new instance of the class. + + + When called by the action invoker, renders the view to the response. + The context that the result is executed in. + The parameter is null. + + + Returns the object that is used to render the view. + The view engine. + The context. + + + Gets the view data model. + The view data model. + + + Gets or sets the object for this result. + The temporary data. + + + Gets or sets the object that is rendered to the response. + The view. + + + Gets the view bag. + The view bag. + + + Gets or sets the view data object for this result. + The view data. + + + Gets or sets the collection of view engines that are associated with this result. + The collection of view engines. + + + Gets or sets the name of the view to render. + The name of the view. + + + Provides an abstract class that can be used to implement a view start (master) page. + + + When implemented in a derived class, initializes a new instance of the class. + + + When implemented in a derived class, gets the HTML markup for the view start page. + The HTML markup for the view start page. + + + When implemented in a derived class, gets the URL for the view start page. + The URL for the view start page. + + + When implemented in a derived class, gets the view context for the view start page. + The view context for the view start page. + + + Provides a container for objects. + + + Initializes a new instance of the class. + + + Provides a container for objects. + The type of the model. + + + Initializes a new instance of the class. + + + Gets the formatted value. + The formatted value. + + + Represents the type of a view. + + + Initializes a new instance of the class. + + + Gets or sets the name of the type. + The name of the type. + + + Represents the information that is needed to build a user control. + + + Initializes a new instance of the class. + + + Gets the AJAX script for the view. + The AJAX script for the view. + + + Ensures that view data is added to the object of the user control if the view data exists. + + + Gets the HTML for the view. + The HTML for the view. + + + Gets the model. + The model. + + + Renders the view by using the specified view context. + The view context. + + + Sets the text writer that is used to render the view to the response. + The writer that is used to render the view to the response. + + + Sets the view-data dictionary by using the specified view data. + The view data. + + + Gets the temporary-data dictionary. + The temporary-data dictionary. + + + Gets the URL for the view. + The URL for the view. + + + Gets the view bag. + The view bag. + + + Gets or sets the view context. + The view context. + + + Gets or sets the view-data dictionary. + The view-data dictionary. + + + Gets or sets the view-data key. + The view-data key. + + + Gets the writer that is used to render the view to the response. + The writer that is used to render the view to the response. + + + Represents the information that is required in order to build a strongly typed user control. + The type of the model. + + + Initializes a new instance of the class. + + + Gets the AJAX script for the view. + The AJAX script for the view. + + + Gets the HTML for the view. + The HTML for the view. + + + Gets the model. + A reference to the data model. + + + Sets the view data for the view. + The view data. + + + Gets or sets the view data. + The view data. + + + Represents an abstract base-class implementation of the interface. + + + Initializes a new instance of the class. + + + Gets or sets the area-enabled master location formats. + The area-enabled master location formats. + + + Gets or sets the area-enabled partial-view location formats. + The area-enabled partial-view location formats. + + + Gets or sets the area-enabled view location formats. + The area-enabled view location formats. + + + Creates the specified partial view by using the specified controller context. + A reference to the partial view. + The controller context. + The partial path for the new partial view. + + + Creates the specified view by using the controller context, path of the view, and path of the master view. + A reference to the view. + The controller context. + The path of the view. + The path of the master view. + + + Gets or sets the display mode provider. + The display mode provider. + + + Returns a value that indicates whether the file is in the specified path by using the specified controller context. + true if the file is in the specified path; otherwise, false. + The controller context. + The virtual path. + + + Gets or sets the file-name extensions that are used to locate a view. + The file-name extensions that are used to locate a view. + + + Finds the specified partial view by using the specified controller context. + The partial view. + The controller context. + The name of the partial view. + true to use the cached partial view. + The parameter is null (Nothing in Visual Basic). + The parameter is null or empty. + + + Finds the specified view by using the specified controller context and master view name. + The page view. + The controller context. + The name of the view. + The name of the master view. + true to use the cached view. + The parameter is null (Nothing in Visual Basic). + The parameter is null or empty. + + + Gets or sets the master location formats. + The master location formats. + + + Gets or sets the partial-view location formats. + The partial-view location formats. + + + Releases the specified view by using the specified controller context. + The controller context. + The view to release. + + + Gets or sets the view location cache. + The view location cache. + + + Gets or sets the view location formats. + The view location formats. + + + Gets or sets the virtual path provider. + The virtual path provider. + + + Represents the information that is needed to build a Web Forms page in ASP.NET MVC. + + + Initializes a new instance of the class using the controller context and view path. + The controller context. + The view path. + + + Initializes a new instance of the class using the controller context, view path, and the path to the master page. + The controller context. + The view path. + The path to the master page. + + + Initializes a new instance of the class using the controller context, view path, the path to the master page, and a instance. + The controller context. + The view path. + The path to the master page. + An instance of the view page activator interface. + + + Gets or sets the master path. + The master path. + + + Renders the view to the response. + An object that encapsulates the information that is required in order to render the view, which includes the controller context, form context, the temporary data, and the view data for the associated view. + The text writer object that is used to write HTML output. + The view page instance. + + + Represents a view engine that is used to render a Web Forms page to the response. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the specified view page activator. + An instance of a class that implements the interface. + + + Creates the specified partial view by using the specified controller context. + The partial view. + The controller context. + The partial path. + + + Creates the specified view by using the specified controller context and the paths of the view and master view. + The view. + The controller context. + The view path. + The master-view path. + + + Represents the properties and methods that are needed in order to render a view that uses ASP.NET Razor syntax. + + + Initializes a new instance of the class. + + + Gets or sets the object that is used to render HTML using Ajax. + The object that is used to render HTML using Ajax. + + + Sets the view context and view data for the page. + The parent page. + + + Gets the object that is associated with the page. + The object that is associated with the page. + + + Runs the page hierarchy for the ASP.NET Razor execution pipeline. + + + Gets or sets the object that is used to render HTML elements. + The object that is used to render HTML elements. + + + Initializes the , , and classes. + + + Gets the Model property of the associated object. + The Model property of the associated object. + + + Sets the view data. + The view data. + + + Gets the temporary data to pass to the view. + The temporary data to pass to the view. + + + Gets or sets the URL of the rendered page. + The URL of the rendered page. + + + Gets the view bag. + The view bag. + + + Gets or sets the information that is used to render the view. + The information that is used to render the view, which includes the form context, the temporary data, and the view data of the associated view. + + + Gets or sets a dictionary that contains data to pass between the controller and the view. + A dictionary that contains data to pass between the controller and the view. + + + Represents the properties and methods that are needed in order to render a view that uses ASP.NET Razor syntax. + The type of the view data model. + + + Initializes a new instance of the class. + + + Gets or sets the object that is used to render HTML markup using Ajax. + The object that is used to render HTML markup using Ajax. + + + Gets or sets the object that is used to render HTML elements. + The object that is used to render HTML elements. + + + Initializes the , , and classes. + + + Gets the Model property of the associated object. + The Model property of the associated object. + + + Sets the view data. + The view data. + + + Gets or sets a dictionary that contains data to pass between the controller and the view. + A dictionary that contains data to pass between the controller and the view. + + + Represents support for ASP.NET AJAX within an ASP.NET MVC application. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + The parameter is null or empty. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + The parameter is null or empty. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + The name of the controller. + The protocol for the URL, such as "http" or "https". + The host name for the URL. + The URL fragment name (the anchor name). + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + The name of the controller. + The protocol for the URL, such as "http" or "https". + The host name for the URL. + The URL fragment name (the anchor name). + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + The name of the controller. + An object that provides options for the asynchronous request. + The parameter is null or empty. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + The parameter is null or empty. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + An object that provides options for the asynchronous request. + The parameter is null or empty. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + The parameter is null or empty. + + + Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the action method. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Writes an opening <form> tag to the response. + An opening <form> tag. + The AJAX helper. + The name of the action method that will handle the request. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + + + Writes an opening <form> tag to the response. + An opening <form> tag. + The AJAX helper. + The name of the action method that will handle the request. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response. + An opening <form> tag. + The AJAX helper. + The name of the action method that will handle the request. + The name of the controller. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + + + Writes an opening <form> tag to the response. + An opening <form> tag. + The AJAX helper. + The name of the action method that will handle the request. + The name of the controller. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response. + An opening <form> tag. + The AJAX helper. + The name of the action method that will handle the request. + The name of the controller. + An object that provides options for the asynchronous request. + + + Writes an opening <form> tag to the response. + An opening <form> tag. + The AJAX helper. + The name of the action method that will handle the request. + The name of the controller. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + + + Writes an opening <form> tag to the response. + An opening <form> tag. + The AJAX helper. + The name of the action method that will handle the request. + The name of the controller. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response. + An opening <form> tag. + The AJAX helper. + The name of the action method that will handle the request. + An object that provides options for the asynchronous request. + + + Writes an opening <form> tag to the response. + An opening <form> tag. + The AJAX helper. + The name of the action method that will handle the request. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + + + Writes an opening <form> tag to the response. + An opening <form> tag. + The AJAX helper. + The name of the action method that will handle the request. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element.. + + + Writes an opening <form> tag to the response. + An opening <form> tag. + The AJAX helper. + An object that provides options for the asynchronous request. + + + Writes an opening <form> tag to the response using the specified routing information. + An opening <form> tag. + The AJAX helper. + The name of the route to use to obtain the form post URL. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + + + Writes an opening <form> tag to the response using the specified routing information. + An opening <form> tag. + The AJAX helper. + The name of the route to use to obtain the form post URL. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response using the specified routing information. + An opening <form> tag. + The AJAX helper. + The name of the route to use to obtain the form post URL. + An object that provides options for the asynchronous request. + + + Writes an opening <form> tag to the response using the specified routing information. + An opening <form> tag. + The AJAX helper. + The name of the route to use to obtain the form post URL. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + + + Writes an opening <form> tag to the response using the specified routing information. + An opening <form> tag. + The AJAX helper. + The name of the route to use to obtain the form post URL. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + + + Returns an HTML script element that contains a reference to a globalization script that defines the culture information. + A script element whose src attribute is set to the globalization script, as in the following example: <script type="text/javascript" src="/MvcApplication1/Scripts/Globalization/en-US.js"></script> + The AJAX helper object that this method extends. + + + Returns an HTML script element that contains a reference to a globalization script that defines the specified culture information. + An HTML script element whose src attribute is set to the globalization script, as in the following example:<script type="text/javascript" src="/MvcApplication1/Scripts/Globalization/en-US.js"></script> + The AJAX helper object that this method extends. + Encapsulates information about the target culture, such as date formats. + The parameter is null. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + The parameter is null or empty. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the route to use to obtain the form post URL. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + The parameter is null or empty. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the route to use to obtain the form post URL. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the route to use to obtain the form post URL. + The protocol for the URL, such as "http" or "https". + The host name for the URL. + The URL fragment name (the anchor name). + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the route to use to obtain the form post URL. + An object that provides options for the asynchronous request. + The parameter is null or empty. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the route to use to obtain the form post URL. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the route to use to obtain the form post URL. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the route to use to obtain the form post URL. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + The parameter is null or empty. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + The name of the route to use to obtain the form post URL. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + The parameter is null or empty. + + + Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript. + An anchor element. + The AJAX helper. + The inner text of the anchor element. + An object that contains the parameters for a route. + An object that provides options for the asynchronous request. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Represents option settings for running Ajax scripts in an ASP.NET MVC application. + + + Initializes a new instance of the class. + + + Gets or sets the message to display in a confirmation window before a request is submitted. + The message to display in a confirmation window. + + + Gets or sets the HTTP request method ("Get" or "Post"). + The HTTP request method. The default value is "Post". + + + Gets or sets the mode that specifies how to insert the response into the target DOM element. + The insertion mode ("InsertAfter", "InsertBefore", or "Replace"). The default value is "Replace". + + + Gets or sets a value, in milliseconds, that controls the duration of the animation when showing or hiding the loading element. + A value, in milliseconds, that controls the duration of the animation when showing or hiding the loading element. + + + Gets or sets the id attribute of an HTML element that is displayed while the Ajax function is loading. + The ID of the element that is displayed while the Ajax function is loading. + + + Gets or sets the name of the JavaScript function to call immediately before the page is updated. + The name of the JavaScript function to call before the page is updated. + + + Gets or sets the JavaScript function to call when response data has been instantiated but before the page is updated. + The JavaScript function to call when the response data has been instantiated. + + + Gets or sets the JavaScript function to call if the page update fails. + The JavaScript function to call if the page update fails. + + + Gets or sets the JavaScript function to call after the page is successfully updated. + The JavaScript function to call after the page is successfully updated. + + + Returns the Ajax options as a collection of HTML attributes to support unobtrusive JavaScript. + The Ajax options as a collection of HTML attributes to support unobtrusive JavaScript. + + + Gets or sets the ID of the DOM element to update by using the response from the server. + The ID of the DOM element to update. + + + Gets or sets the URL to make the request to. + The URL to make the request to. + + + Enumerates the AJAX script insertion modes. + + + Replace the element. + + + Insert before the element. + + + Insert after the element. + + + Provides information about an asynchronous action method, such as its name, controller, parameters, attributes, and filters. + + + Initializes a new instance of the class. + + + Invokes the asynchronous action method by using the specified parameters and controller context. + An object that contains the result of an asynchronous call. + The controller context. + The parameters of the action method. + The callback method. + An object that contains information to be used by the callback method. This parameter can be null. + + + Returns the result of an asynchronous operation. + The result of an asynchronous operation. + An object that represents the status of an asynchronous operation. + + + Executes the asynchronous action method by using the specified parameters and controller context. + The result of executing the asynchronous action method. + The controller context. + The parameters of the action method. + + + Represents a class that is responsible for invoking the action methods of an asynchronous controller. + + + Initializes a new instance of the class. + + + Invokes the asynchronous action method by using the specified controller context, action name, callback method, and state. + An object that contains the result of an asynchronous operation. + The controller context. + The name of the action. + The callback method. + An object that contains information to be used by the callback method. This parameter can be null. + + + Invokes the asynchronous action method by using the specified controller context, action descriptor, parameters, callback method, and state. + An object that contains the result of an asynchronous operation. + The controller context. + The action descriptor. + The parameters for the asynchronous action method. + The callback method. + An object that contains information to be used by the callback method. This parameter can be null. + + + Invokes the asynchronous action method by using the specified controller context, filters, action descriptor, parameters, callback method, and state. + An object that contains the result of an asynchronous operation. + The controller context. + The filters. + The action descriptor. + The parameters for the asynchronous action method. + The callback method. + An object that contains information to be used by the callback method. This parameter can be null. + + + Cancels the action. + true if the action was canceled; otherwise, false. + The user-defined object that qualifies or contains information about an asynchronous operation. + + + Cancels the action. + true if the action was canceled; otherwise, false. + The user-defined object that qualifies or contains information about an asynchronous operation. + + + Cancels the action. + true if the action was canceled; otherwise, false. + The user-defined object that qualifies or contains information about an asynchronous operation. + + + Returns the controller descriptor. + The controller descriptor. + The controller context. + + + Provides asynchronous operations for the class. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the synchronization context. + The synchronization context. + + + Notifies ASP.NET that all asynchronous operations are complete. + + + Occurs when the method is called. + + + Gets the number of outstanding operations. + The number of outstanding operations. + + + Gets the parameters that were passed to the asynchronous completion method. + The parameters that were passed to the asynchronous completion method. + + + Executes a callback in the current synchronization context. + The asynchronous action. + + + Gets or sets the asynchronous timeout value, in milliseconds. + The asynchronous timeout value, in milliseconds. + + + Defines the interface for an action invoker, which is used to invoke an asynchronous action in response to an HTTP request. + + + Invokes the specified action. + The status of the asynchronous result. + The controller context. + The name of the asynchronous action. + The callback method. + The state. + + + Cancels the asynchronous action. + true if the asynchronous method could be canceled; otherwise, false. + The asynchronous result. + + + Defines the methods that are required for an asynchronous controller. + + + Executes the specified request context. + The status of the asynchronous operation. + The request context. + The asynchronous callback method. + The state. + + + Ends the asynchronous operation. + The asynchronous result. + + + Provides a container for the asynchronous manager object. + + + Gets the asynchronous manager object. + The asynchronous manager object. + + + Provides a container that maintains a count of pending asynchronous operations. + + + Initializes a new instance of the class. + + + Occurs when an asynchronous method completes. + + + Gets the operation count. + The operation count. + + + Reduces the operation count by 1. + The updated operation count. + + + Reduces the operation count by the specified value. + The updated operation count. + The number of operations to reduce the count by. + + + Increments the operation count by one. + The updated operation count. + + + Increments the operation count by the specified value. + The updated operation count. + The number of operations to increment the count by. + + + Provides information about an asynchronous action method, such as its name, controller, parameters, attributes, and filters. + + + Initializes a new instance of the class. + An object that contains information about the method that begins the asynchronous operation (the method whose name ends with "Asynch"). + An object that contains information about the completion method (method whose name ends with "Completed"). + The name of the action. + The controller descriptor. + + + Gets the name of the action method. + The name of the action method. + + + Gets the method information for the asynchronous action method. + The method information for the asynchronous action method. + + + Begins running the asynchronous action method by using the specified parameters and controller context. + An object that contains the result of an asynchronous call. + The controller context. + The parameters of the action method. + The callback method. + An object that contains information to be used by the callback method. This parameter can be null. + + + Gets the method information for the asynchronous completion method. + The method information for the asynchronous completion method. + + + Gets the controller descriptor for the asynchronous action method. + The controller descriptor for the asynchronous action method. + + + Returns the result of an asynchronous operation. + The result of an asynchronous operation. + An object that represents the status of an asynchronous operation. + + + Returns an array of custom attributes that are defined for this member, excluding named attributes. + An array of custom attributes, or an empty array if no custom attributes exist. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Returns an array of custom attributes that are defined for this member, identified by type. + An array of custom attributes, or an empty array if no custom attributes of the specified type exist. + The type of the custom attributes to return. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Gets the filter attributes. + The filter attributes. + Use cache flag. + + + Returns the parameters of the action method. + The parameters of the action method. + + + Returns the action-method selectors. + The action-method selectors. + + + Determines whether one or more instances of the specified attribute type are defined for the action member. + true if an attribute of type that is represented by is defined for this member; otherwise, false. + The type of the custom attribute. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Gets the lazy initialized unique ID of the instance of this class. + The lazy initialized unique ID of the instance of this class. + + + Encapsulates information that describes an asynchronous controller, such as its name, type, and actions. + + + Initializes a new instance of the class. + The type of the controller. + + + Gets the type of the controller. + The type of the controller. + + + Finds an action method by using the specified name and controller context. + The information about the action method. + The controller context. + The name of the action. + + + Returns a list of action method descriptors in the controller. + A list of action method descriptors in the controller. + + + Returns custom attributes that are defined for this member, excluding named attributes. + An array of custom attributes, or an empty array if no custom attributes exist. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Returns custom attributes of a specified type that are defined for this member, excluding named attributes. + An array of custom attributes, or an empty array if no custom attributes exist. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Gets the filter attributes. + The filter attributes. + true to use the cache, otherwise false. + + + Returns a value that indicates whether one or more instances of the specified custom attribute are defined for this member. + true if an attribute of the type represented by is defined for this member; otherwise, false. + The type of the custom attribute. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Represents an exception that occurred during the synchronous processing of an HTTP request in an ASP.NET MVC application. + + + Initializes a new instance of the class using a system-supplied message. + + + Initializes a new instance of the class using the specified message. + The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture. + + + Initializes a new instance of the class using a specified error message and a reference to the inner exception that is the cause of this exception. + The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture. + The exception that is the cause of the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception. + + + When an action method returns either Task or Task<T> the provides information about the action. + + + Initializes a new instance of the class. + The task method information. + The action name. + The controller descriptor. + + + Gets the name of the action method. + The name of the action method. + + + Invokes the asynchronous action method using the specified parameters, controller context callback and state. + An object that contains the result of an asynchronous call. + The controller context. + The parameters of the action method. + The optional callback method. + An object that contains information to be used by the callback method. This parameter can be null. + + + Gets the controller descriptor. + The controller descriptor. + + + Ends the asynchronous operation. + The result of an asynchronous operation. + An object that represents the status of an asynchronous operation. + + + Executes the asynchronous action method + The result of executing the asynchronous action method. + The controller context. + The parameters of the action method. + + + Returns an array of custom attributes that are defined for this member, excluding named attributes. + An array of custom attributes, or an empty array if no custom attributes exist. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Returns an array of custom attributes that are defined for this member, identified by type. + An array of custom attributes, or an empty array if no custom attributes exist. + The type of the custom attributes. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Returns an array of all custom attributes applied to this member. + An array that contains all the custom attributes applied to this member, or an array with zero elements if no attributes are defined. + true to search this member's inheritance chain to find the attributes; otherwise, false. + + + Returns the parameters of the asynchronous action method. + The parameters of the asynchronous action method. + + + Returns the asynchronous action-method selectors. + The asynchronous action-method selectors. + + + Returns a value that indicates whether one or more instance of the specified custom attribute are defined for this member. + A value that indicates whether one or more instance of the specified custom attribute are defined for this member. + The type of the custom attribute. + true to look up the hierarchy chain for the inherited custom attribute; otherwise, false. + + + Gets information for the asynchronous task. + Information for the asynchronous task. + + + Gets the unique ID for the task. + The unique ID for the task. + + + Represents support for calling child action methods and rendering the result inline in a parent view. + + + Invokes the specified child action method and returns the result as an HTML string. + The child action result as an HTML string. + The HTML helper instance that this method extends. + The name of the action method to invoke. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Invokes the specified child action method with the specified parameters and returns the result as an HTML string. + The child action result as an HTML string. + The HTML helper instance that this method extends. + The name of the action method to invoke. + An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Invokes the specified child action method using the specified controller name and returns the result as an HTML string. + The child action result as an HTML string. + The HTML helper instance that this method extends. + The name of the action method to invoke. + The name of the controller that contains the action method. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Invokes the specified child action method using the specified parameters and controller name and returns the result as an HTML string. + The child action result as an HTML string. + The HTML helper instance that this method extends. + The name of the action method to invoke. + The name of the controller that contains the action method. + An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Invokes the specified child action method using the specified parameters and controller name and returns the result as an HTML string. + The child action result as an HTML string. + The HTML helper instance that this method extends. + The name of the action method to invoke. + The name of the controller that contains the action method. + A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Invokes the specified child action method using the specified parameters and returns the result as an HTML string. + The child action result as an HTML string. + The HTML helper instance that this method extends. + The name of the action method to invoke. + A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Invokes the specified child action method and renders the result inline in the parent view. + The HTML helper instance that this method extends. + The name of the child action method to invoke. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Invokes the specified child action method using the specified parameters and renders the result inline in the parent view. + The HTML helper instance that this method extends. + The name of the child action method to invoke. + An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Invokes the specified child action method using the specified controller name and renders the result inline in the parent view. + The HTML helper instance that this method extends. + The name of the child action method to invoke. + The name of the controller that contains the action method. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view. + The HTML helper instance that this method extends. + The name of the child action method to invoke. + The name of the controller that contains the action method. + An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view. + The HTML helper instance that this method extends. + The name of the child action method to invoke. + The name of the controller that contains the action method. + A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Invokes the specified child action method using the specified parameters and renders the result inline in the parent view. + The HTML helper instance that this method extends. + The name of the child action method to invoke. + A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them. + The parameter is null. + The parameter is null or empty. + The required virtual path data cannot be found. + + + Represents support for rendering object values as HTML. + + + Returns HTML markup for each property in the object that is represented by a string expression. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + + + Returns HTML markup for each property in the object that is represented by a string expression, using additional view data. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Returns HTML markup for each property in the object that is represented by the expression, using the specified template. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template that is used to render the object. + + + Returns HTML markup for each property in the object that is represented by the expression, using the specified template and additional view data. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template that is used to render the object. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Returns HTML markup for each property in the object that is represented by the expression, using the specified template and an HTML field ID. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template that is used to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + + + Returns HTML markup for each property in the object that is represented by the expression, using the specified template, HTML field ID, and additional view data. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template that is used to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Returns HTML markup for each property in the object that is represented by the expression. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The type of the model. + The type of the value. + + + Returns a string that contains each property value in the object that is represented by the specified expression, using additional view data. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + The type of the model. + The type of the value. + + + Returns a string that contains each property value in the object that is represented by the , using the specified template. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template that is used to render the object. + The type of the model. + The type of the value. + + + Returns a string that contains each property value in the object that is represented by the specified expression, using the specified template and additional view data. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template that is used to render the object. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + The type of the model. + The type of the value. + + + Returns HTML markup for each property in the object that is represented by the , using the specified template and an HTML field ID. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template that is used to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + The type of the model. + The type of the value. + + + Returns HTML markup for each property in the object that is represented by the specified expression, using the template, an HTML field ID, and additional view data. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template that is used to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + The type of the model. + The type of the value. + + + Returns HTML markup for each property in the model. + The HTML markup for each property in the model. + The HTML helper instance that this method extends. + + + Returns HTML markup for each property in the model, using additional view data. + The HTML markup for each property in the model. + The HTML helper instance that this method extends. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Returns HTML markup for each property in the model using the specified template. + The HTML markup for each property in the model. + The HTML helper instance that this method extends. + The name of the template that is used to render the object. + + + Returns HTML markup for each property in the model, using the specified template and additional view data. + The HTML markup for each property in the model. + The HTML helper instance that this method extends. + The name of the template that is used to render the object. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Returns HTML markup for each property in the model using the specified template and HTML field ID. + The HTML markup for each property in the model. + The HTML helper instance that this method extends. + The name of the template that is used to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + + + Returns HTML markup for each property in the model, using the specified template, an HTML field ID, and additional view data. + The HTML markup for each property in the model. + The HTML helper instance that this method extends. + The name of the template that is used to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Provides a mechanism to get display names. + + + Gets the display name. + The display name. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the display name. + + + Gets the display name for the model. + The display name for the model. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the display name. + The type of the model. + The type of the value. + + + Gets the display name for the model. + The display name for the model. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the display name. + The type of the model. + The type of the value. + + + Gets the display name for the model. + The display name for the model. + The HTML helper instance that this method extends. + + + Provides a way to render object values as HTML. + + + Returns HTML markup for each property in the object that is represented by the specified expression. + The HTML markup for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + + + Returns HTML markup for each property in the object that is represented by the specified expression. + The HTML markup for each property. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The type of the model. + The type of the result. + + + Represents support for the HTML input element in an application. + + + Returns an HTML input element for each property in the object that is represented by the expression. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + + + Returns an HTML input element for each property in the object that is represented by the expression, using additional view data. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Returns an HTML input element for each property in the object that is represented by the expression, using the specified template. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template to use to render the object. + + + Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and additional view data. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template to use to render the object. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and HTML field name. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template to use to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + + + Returns an HTML input element for each property in the object that is represented by the expression, using the specified template, HTML field name, and additional view data. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template to use to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Returns an HTML input element for each property in the object that is represented by the expression. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The type of the model. + The type of the value. + + + Returns an HTML input element for each property in the object that is represented by the expression, using additional view data. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + The type of the model. + The type of the value. + + + Returns an HTML input element for each property in the object that is represented by the expression, using the specified template. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template to use to render the object. + The type of the model. + The type of the value. + + + Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and additional view data. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template to use to render the object. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + The type of the model. + The type of the value. + + + Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and HTML field name. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template to use to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + The type of the model. + The type of the value. + + + Returns an HTML input element for each property in the object that is represented by the expression, using the specified template, HTML field name, and additional view data. + An HTML input element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + The name of the template to use to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + The type of the model. + The type of the value. + + + Returns an HTML input element for each property in the model. + An HTML input element for each property in the model. + The HTML helper instance that this method extends. + + + Returns an HTML input element for each property in the model, using additional view data. + An HTML input element for each property in the model. + The HTML helper instance that this method extends. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Returns an HTML input element for each property in the model, using the specified template. + An HTML input element for each property in the model and in the specified template. + The HTML helper instance that this method extends. + The name of the template to use to render the object. + + + Returns an HTML input element for each property in the model, using the specified template and additional view data. + An HTML input element for each property in the model. + The HTML helper instance that this method extends. + The name of the template to use to render the object. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Returns an HTML input element for each property in the model, using the specified template name and HTML field name. + An HTML input element for each property in the model and in the named template. + The HTML helper instance that this method extends. + The name of the template to use to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + + + Returns an HTML input element for each property in the model, using the template name, HTML field name, and additional view data. + An HTML input element for each property in the model. + The HTML helper instance that this method extends. + The name of the template to use to render the object. + A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name. + An anonymous object that can contain additional view data that will be merged into the instance that is created for the template. + + + Represents support for HTML in an application. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the action method. + The name of the controller. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + The HTTP method for processing the form, either GET or POST. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + The HTTP method for processing the form, either GET or POST. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the action method. + The name of the controller. + The HTTP method for processing the form, either GET or POST. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the action method. + The name of the controller. + The HTTP method for processing the form, either GET or POST. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the action method. + The name of the controller. + The HTTP method for processing the form, either GET or POST. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. + The HTTP method for processing the form, either GET or POST. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the action method. + The name of the controller. + An object that contains the parameters for a route. + The HTTP method for processing the form, either GET or POST. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by an action method. + An opening <form> tag. + The HTML helper instance that this method extends. + An object that contains the parameters for a route. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the route to use to obtain the form-post URL. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the route to use to obtain the form-post URL. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the route to use to obtain the form-post URL. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + The HTTP method for processing the form, either GET or POST. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the route to use to obtain the form-post URL. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax. + The HTTP method for processing the form, either GET or POST. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the route to use to obtain the form-post URL. + The HTTP method for processing the form, either GET or POST. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the route to use to obtain the form-post URL. + The HTTP method for processing the form, either GET or POST. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the route to use to obtain the form-post URL. + The HTTP method for processing the form, either GET or POST. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the route to use to obtain the form-post URL. + An object that contains the parameters for a route + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the route to use to obtain the form-post URL. + An object that contains the parameters for a route + The HTTP method for processing the form, either GET or POST. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + The name of the route to use to obtain the form-post URL. + An object that contains the parameters for a route + The HTTP method for processing the form, either GET or POST. + An object that contains the HTML attributes to set for the element. + + + Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target. + An opening <form> tag. + The HTML helper instance that this method extends. + An object that contains the parameters for a route + + + Renders the closing </form> tag to the response. + The HTML helper instance that this method extends. + + + Represents support for HTML input controls in an application. + + + Returns a check box input element by using the specified HTML helper and the name of the form field. + An input element whose type attribute is set to "checkbox". + The HTML helper instance that this method extends. + The name of the form field. + + + Returns a check box input element by using the specified HTML helper, the name of the form field, and a value to indicate whether the check box is selected. + An input element whose type attribute is set to "checkbox". + The HTML helper instance that this method extends. + The name of the form field. + true to select the check box; otherwise, false. + + + Returns a check box input element by using the specified HTML helper, the name of the form field, a value to indicate whether the check box is selected, and the HTML attributes. + An input element whose type attribute is set to "checkbox". + The HTML helper instance that this method extends. + The name of the form field. + true to select the check box; otherwise, false. + An object that contains the HTML attributes to set for the element. + + + Returns a check box input element by using the specified HTML helper, the name of the form field, a value that indicates whether the check box is selected, and the HTML attributes. + An input element whose type attribute is set to "checkbox". + The HTML helper instance that this method extends. + The name of the form field. + true to select the check box; otherwise, false. + An object that contains the HTML attributes to set for the element. + + + Returns a check box input element by using the specified HTML helper, the name of the form field, and the HTML attributes. + An input element whose type attribute is set to "checkbox". + The HTML helper instance that this method extends. + The name of the form field. + An object that contains the HTML attributes to set for the element. + + + Returns a check box input element by using the specified HTML helper, the name of the form field, and the HTML attributes. + An input element whose type attribute is set to "checkbox". + The HTML helper instance that this method extends. + The name of the form field. + An object that contains the HTML attributes to set for the element. + + + Returns a check box input element for each property in the object that is represented by the specified expression. + An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The type of the model. + The parameter is null. + + + Returns a check box input element for each property in the object that is represented by the specified expression, using the specified HTML attributes. + An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression, using the specified HTML attributes. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + A dictionary that contains the HTML attributes to set for the element. + The type of the model. + The parameter is null. + + + Returns a check box input element for each property in the object that is represented by the specified expression, using the specified HTML attributes. + An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression, using the specified HTML attributes. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + An object that contains the HTML attributes to set for the element. + The type of the model. + The parameter is null. + + + Returns a hidden input element by using the specified HTML helper and the name of the form field. + An input element whose type attribute is set to "hidden". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + + + Returns a hidden input element by using the specified HTML helper, the name of the form field, and the value. + An input element whose type attribute is set to "hidden". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + The value of the hidden input element. The value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. If the element is not found in the or the , the value parameter is used. + + + Returns a hidden input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes. + An input element whose type attribute is set to "hidden". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + The value of the hidden input element. The value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. If the element is not found in the object or the object, the value parameter is used. + An object that contains the HTML attributes to set for the element. + + + Returns a hidden input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes. + An input element whose type attribute is set to "hidden". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + The value of the hidden input element The value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. If the element is not found in the object or the object, the value parameter is used. + An object that contains the HTML attributes to set for the element. + + + Returns an HTML hidden input element for each property in the object that is represented by the specified expression. + An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The type of the model. + The type of the property. + + + Returns an HTML hidden input element for each property in the object that is represented by the specified expression, using the specified HTML attributes. + An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the property. + + + Returns an HTML hidden input element for each property in the object that is represented by the specified expression, using the specified HTML attributes. + An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the property. + + + Returns a password input element by using the specified HTML helper and the name of the form field. + An input element whose type attribute is set to "password". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + + + Returns a password input element by using the specified HTML helper, the name of the form field, and the value. + An input element whose type attribute is set to "password". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + The value of the password input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. + + + Returns a password input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes. + An input element whose type attribute is set to "password". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + The value of the password input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. + An object that contains the HTML attributes to set for the element. + + + Returns a password input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes. + An input element whose type attribute is set to "password". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + The value of the password input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. + An object that contains the HTML attributes to set for the element. + + + Returns a password input element for each property in the object that is represented by the specified expression. + An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The type of the model. + The type of the value. + The parameter is null. + + + Returns a password input element for each property in the object that is represented by the specified expression, using the specified HTML attributes. + An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression, using the specified HTML attributes. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + A dictionary that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + The parameter is null. + + + Returns a password input element for each property in the object that is represented by the specified expression, using the specified HTML attributes. + An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression, using the specified HTML attributes. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + The parameter is null. + + + Returns a radio button input element that is used to present mutually exclusive options. + An input element whose type attribute is set to "radio". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected. + The parameter is null or empty. + The parameter is null. + + + Returns a radio button input element that is used to present mutually exclusive options. + An input element whose type attribute is set to "radio". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected. + true to select the radio button; otherwise, false. + The parameter is null or empty. + The parameter is null. + + + Returns a radio button input element that is used to present mutually exclusive options. + An input element whose type attribute is set to "radio". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected. + true to select the radio button; otherwise, false. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + The parameter is null. + + + Returns a radio button input element that is used to present mutually exclusive options. + An input element whose type attribute is set to "radio". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected. + true to select the radio button; otherwise, false. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + The parameter is null. + + + Returns a radio button input element that is used to present mutually exclusive options. + An input element whose type attribute is set to "radio". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + The parameter is null. + + + Returns a radio button input element that is used to present mutually exclusive options. + An input element whose type attribute is set to "radio". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + The parameter is null. + + + Returns a radio button input element for each property in the object that is represented by the specified expression. + An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected. + The type of the model. + The type of the value. + The parameter is null. + + + Returns a radio button input element for each property in the object that is represented by the specified expression, using the specified HTML attributes. + An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression, using the specified HTML attributes. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected. + A dictionary that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + The parameter is null. + + + Returns a radio button input element for each property in the object that is represented by the specified expression, using the specified HTML attributes. + An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression, using the specified HTML attributes. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + The parameter is null. + + + Returns a text input element by using the specified HTML helper and the name of the form field. + An input element whose type attribute is set to "text". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + + + Returns a text input element by using the specified HTML helper, the name of the form field, and the value. + An input element whose type attribute is set to "text". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + The value of the text input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. + + + Returns a text input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes. + An input element whose type attribute is set to "text". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + The value of the text input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. + An object that contains the HTML attributes to set for the element. + + + Returns a text input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes. + An input element whose type attribute is set to "text". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + The value of the text input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. + An object that contains the HTML attributes to set for the element. + + + Returns a text input element. + An input element whose type attribute is set to "text". + The HTML helper instance that this method extends. + The name of the form field. + The value of the text input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. + A string that is used to format the input. + + + Returns a text input element. + An input element whose type attribute is set to "text". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + The value of the text input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. + A string that is used to format the input. + An object that contains the HTML attributes to set for the element. + + + Returns a text input element. + An input element whose type attribute is set to "text". + The HTML helper instance that this method extends. + The name of the form field and the key that is used to look up the value. + The value of the text input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object. + A string that is used to format the input. + An object that contains the HTML attributes to set for the element. + + + Returns a text input element for each property in the object that is represented by the specified expression. + An HTML input element whose type attribute is set to "text" for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The type of the model. + The type of the value. + The parameter is null or empty. + + + Returns a text input element for each property in the object that is represented by the specified expression, using the specified HTML attributes. + An HTML input element type attribute is set to "text" for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + A dictionary that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + The parameter is null or empty. + + + Returns a text input element for each property in the object that is represented by the specified expression, using the specified HTML attributes. + An HTML input element whose type attribute is set to "text" for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + The parameter is null or empty. + + + Returns a text input element. + An input element whose type attribute is set to "text". + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A string that is used to format the input. + The type of the model. + The type of the value. + + + Returns a text input element. + An input element whose type attribute is set to "text". + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A string that is used to format the input. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + + + Returns a text input element. + An input element whose type attribute is set to "text". + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A string that is used to format the input. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + + + Represents support for the HTML label element in an ASP.NET MVC view. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the property to display. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + Returns . + The HTML helper instance that this method extends. + An expression that identifies the property to display. + An object that contains the HTML attributes to set for the element. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the property to display. + An object that contains the HTML attributes to set for the element. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression using the label text. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the property to display. + The label text to display. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the property to display. + The label text. + An object that contains the HTML attributes to set for the element. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the property to display. + The label text. + An object that contains the HTML attributes to set for the element. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the property to display. + The type of the model. + The type of the value. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the property to display. + An object that contains the HTML attributes to set for the element. + The type of the model. + + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the property to display. + An object that contains the HTML attributes to set for the element. + The type of the model. + The value. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression using the label text. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the property to display. + The label text to display. + The type of the model. + The type of the value. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the property to display. + An object that contains the HTML attributes to set for the element. + The type of the model. + + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the property to display. + The label text. + An object that contains the HTML attributes to set for the element. + The type of the model. + The Value. + + + Returns an HTML label element and the property name of the property that is represented by the model. + An HTML label element and the property name of the property that is represented by the model. + The HTML helper instance that this method extends. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An object that contains the HTML attributes to set for the element. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + An object that contains the HTML attributes to set for the element. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression using the label text. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + The label text to display. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + The label Text. + An object that contains the HTML attributes to set for the element. + + + Returns an HTML label element and the property name of the property that is represented by the specified expression. + An HTML label element and the property name of the property that is represented by the expression. + The HTML helper instance that this method extends. + The label text. + An object that contains the HTML attributes to set for the element. + + + Represents support for HTML links in an application. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the action. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the action. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the action. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + An object that contains the HTML attributes for the element. The attributes are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the action. + The name of the controller. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the action. + The name of the controller. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the action. + The name of the controller. + The protocol for the URL, such as "http" or "https". + The host name for the URL. + The URL fragment name (the anchor name). + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the action. + The name of the controller. + The protocol for the URL, such as "http" or "https". + The host name for the URL. + The URL fragment name (the anchor name). + An object that contains the parameters for a route. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the action. + The name of the controller. + An object that contains the parameters for a route. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the action. + An object that contains the parameters for a route. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the action. + An object that contains the parameters for a route. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the route that is used to return a virtual path. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the route that is used to return a virtual path. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the route that is used to return a virtual path. + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the route that is used to return a virtual path. + The protocol for the URL, such as "http" or "https". + The host name for the URL. + The URL fragment name (the anchor name). + An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the route that is used to return a virtual path. + The protocol for the URL, such as "http" or "https". + The host name for the URL. + The URL fragment name (the anchor name). + An object that contains the parameters for a route. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the route that is used to return a virtual path. + An object that contains the parameters for a route. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + The name of the route that is used to return a virtual path. + An object that contains the parameters for a route. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + An object that contains the parameters for a route. + The parameter is null or empty. + + + Returns an anchor element (a element) that contains the virtual path of the specified action. + An anchor element (a element). + The HTML helper instance that this method extends. + The inner text of the anchor element. + An object that contains the parameters for a route. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Represents an HTML form element in an MVC view. + + + Initializes a new instance of the class using the specified HTTP response object. + The HTTP response object. + The parameter is null. + + + Initializes a new instance of the class using the specified view context. + An object that encapsulates the information that is required in order to render a view. + The parameter is null. + + + Releases all resources that are used by the current instance of the class. + + + Releases unmanaged and, optionally, managed resources used by the current instance of the class. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Ends the form and disposes of all form resources. + + + Gets the HTML ID and name attributes of the string. + + + Gets the ID of the string. + The HTML ID attribute value for the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the ID. + + + Gets the ID of the string + The HTML ID attribute value for the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the ID. + The type of the model. + The type of the property. + + + Gets the ID of the string. + The HTML ID attribute value for the object that is represented by the expression. + The HTML helper instance that this method extends. + + + Gets the full HTML field name for the object that is represented by the expression. + The full HTML field name for the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the name. + + + Gets the full HTML field name for the object that is represented by the expression. + The full HTML field name for the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the name. + The type of the model. + The type of the property. + + + Gets the full HTML field name for the object that is represented by the expression. + The full HTML field name for the object that is represented by the expression. + The HTML helper instance that this method extends. + + + Represents the functionality to render a partial view as an HTML-encoded string. + + + Renders the specified partial view as an HTML-encoded string. + The partial view that is rendered as an HTML-encoded string. + The HTML helper instance that this method extends. + The name of the partial view to render. + + + Renders the specified partial view as an HTML-encoded string. + The partial view that is rendered as an HTML-encoded string. + The HTML helper instance that this method extends. + The name of the partial view to render. + The model for the partial view. + + + Renders the specified partial view as an HTML-encoded string. + The partial view that is rendered as an HTML-encoded string. + The HTML helper instance that this method extends. + The name of the partial view. + The model for the partial view. + The view data dictionary for the partial view. + + + Renders the specified partial view as an HTML-encoded string. + The partial view that is rendered as an HTML-encoded string. + The HTML helper instance that this method extends. + The name of the partial view to render. + The view data dictionary for the partial view. + + + Provides support for rendering a partial view. + + + Renders the specified partial view by using the specified HTML helper. + The HTML helper. + The name of the partial view + + + Renders the specified partial view, passing it a copy of the current object, but with the Model property set to the specified model. + The HTML helper. + The name of the partial view. + The model. + + + Renders the specified partial view, replacing the partial view's ViewData property with the specified object and setting the Model property of the view data to the specified model. + The HTML helper. + The name of the partial view. + The model for the partial view. + The view data for the partial view. + + + Renders the specified partial view, replacing its ViewData property with the specified object. + The HTML helper. + The name of the partial view. + The view data. + + + Represents support for making selections in a list. + + + Returns a single-selection select element using the specified HTML helper and the name of the form field. + An HTML select element. + The HTML helper instance that this method extends. + The name of the form field to return. + The parameter is null or empty. + + + Returns a single-selection select element using the specified HTML helper, the name of the form field, and the specified list items. + An HTML select element with an option subelement for each item in the list. + The HTML helper instance that this method extends. + The name of the form field to return. + A collection of objects that are used to populate the drop-down list. + The parameter is null or empty. + + + Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, and the specified HTML attributes. + An HTML select element with an option subelement for each item in the list. + The HTML helper instance that this method extends. + The name of the form field to return. + A collection of objects that are used to populate the drop-down list. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, and the specified HTML attributes. + An HTML select element with an option subelement for each item in the list. + The HTML helper instance that this method extends. + The name of the form field to return. + A collection of objects that are used to populate the drop-down list. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, and an option label. + An HTML select element with an option subelement for each item in the list. + The HTML helper instance that this method extends. + The name of the form field to return. + A collection of objects that are used to populate the drop-down list. + The text for a default empty item. This parameter can be null. + The parameter is null or empty. + + + Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, an option label, and the specified HTML attributes. + An HTML select element with an option subelement for each item in the list. + The HTML helper instance that this method extends. + The name of the form field to return. + A collection of objects that are used to populate the drop-down list. + The text for a default empty item. This parameter can be null. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, an option label, and the specified HTML attributes. + An HTML select element with an option subelement for each item in the list. + The HTML helper instance that this method extends. + The name of the form field to return. + A collection of objects that are used to populate the drop-down list. + The text for a default empty item. This parameter can be null. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns a single-selection select element using the specified HTML helper, the name of the form field, and an option label. + An HTML select element with an option subelement for each item in the list. + The HTML helper instance that this method extends. + The name of the form field to return. + The text for a default empty item. This parameter can be null. + The parameter is null or empty. + + + Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items. + An HTML select element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A collection of objects that are used to populate the drop-down list. + The type of the model. + The type of the value. + The parameter is null. + + + Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes. + An HTML select element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A collection of objects that are used to populate the drop-down list. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + The parameter is null. + + + Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes. + An HTML select element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A collection of objects that are used to populate the drop-down list. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + The parameter is null. + + + Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and option label. + An HTML select element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A collection of objects that are used to populate the drop-down list. + The text for a default empty item. This parameter can be null. + The type of the model. + The type of the value. + The parameter is null. + + + Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items, option label, and HTML attributes. + An HTML select element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A collection of objects that are used to populate the drop-down list. + The text for a default empty item. This parameter can be null. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + The parameter is null. + + + Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items, option label, and HTML attributes. + An HTML select element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A collection of objects that are used to populate the drop-down list. + The text for a default empty item. This parameter can be null. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the value. + The parameter is null. + + + Returns a multi-select select element using the specified HTML helper and the name of the form field. + An HTML select element. + The HTML helper instance that this method extends. + The name of the form field to return. + The parameter is null or empty. + + + Returns a multi-select select element using the specified HTML helper, the name of the form field, and the specified list items. + An HTML select element with an option subelement for each item in the list. + The HTML helper instance that this method extends. + The name of the form field to return. + A collection of objects that are used to populate the drop-down list. + The parameter is null or empty. + + + Returns a multi-select select element using the specified HTML helper, the name of the form field, the specified list items, and the specified HMTL attributes. + An HTML select element with an option subelement for each item in the list.. + The HTML helper instance that this method extends. + The name of the form field to return. + A collection of objects that are used to populate the drop-down list. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns a multi-select select element using the specified HTML helper, the name of the form field, and the specified list items. + An HTML select element with an option subelement for each item in the list.. + The HTML helper instance that this method extends. + The name of the form field to return. + A collection of objects that are used to populate the drop-down list. + An object that contains the HTML attributes to set for the element. + The parameter is null or empty. + + + Returns an HTML select element for each property in the object that is represented by the specified expression and using the specified list items. + An HTML select element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A collection of objects that are used to populate the drop-down list. + The type of the model. + The type of the property. + The parameter is null. + + + Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes. + An HTML select element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A collection of objects that are used to populate the drop-down list. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the property. + The parameter is null. + + + Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes. + An HTML select element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to display. + A collection of objects that are used to populate the drop-down list. + An object that contains the HTML attributes to set for the element. + The type of the model. + The type of the property. + The parameter is null. + + + Represents support for HTML textarea controls. + + + Returns the specified textarea element by using the specified HTML helper and the name of the form field. + The textarea element. + The HTML helper instance that this method extends. + The name of the form field to return. + + + Returns the specified textarea element by using the specified HTML helper, the name of the form field, and the specified HTML attributes. + The textarea element. + The HTML helper instance that this method extends. + The name of the form field to return. + An object that contains the HTML attributes to set for the element. + + + Returns the specified textarea element by using the specified HTML helper and HTML attributes. + The textarea element. + The HTML helper instance that this method extends. + The name of the form field to return. + An object that contains the HTML attributes to set for the element. + + + Returns the specified textarea element by using the specified HTML helper, the name of the form field, and the text content. + The textarea element. + The HTML helper instance that this method extends. + The name of the form field to return. + The text content. + + + Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, and the specified HTML attributes. + The textarea element. + The HTML helper instance that this method extends. + The name of the form field to return. + The text content. + An object that contains the HTML attributes to set for the element. + + + Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, the number of rows and columns, and the specified HTML attributes. + The textarea element. + The HTML helper instance that this method extends. + The name of the form field to return. + The text content. + The number of rows. + The number of columns. + An object that contains the HTML attributes to set for the element. + + + Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, the number of rows and columns, and the specified HTML attributes. + The textarea element. + The HTML helper instance that this method extends. + The name of the form field to return. + The text content. + The number of rows. + The number of columns. + An object that contains the HTML attributes to set for the element. + + + Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, and the specified HTML attributes. + The textarea element. + The HTML helper instance that this method extends. + The name of the form field to return. + The text content. + An object that contains the HTML attributes to set for the element. + + + Returns an HTML textarea element for each property in the object that is represented by the specified expression. + An HTML textarea element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The type of the model. + The type of the property. + The parameter is null. + + + Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes. + An HTML textarea element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + A dictionary that contains the HTML attributes to set for the element. + The type of the model. + The type of the property. + The parameter is null. + + + Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes and the number of rows and columns. + An HTML textarea element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The number of rows. + The number of columns. + A dictionary that contains the HTML attributes to set for the element. + The type of the model. + The type of the property. + The parameter is null. + + + Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes and the number of rows and columns. + An HTML textarea element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The number of rows. + The number of columns. + A dictionary that contains the HTML attributes to set for the element. + The type of the model. + The type of the property. + The parameter is null. + + + Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes. + An HTML textarea element for each property in the object that is represented by the expression. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + A dictionary that contains the HTML attributes to set for the element. + The type of the model. + The type of the property. + The parameter is null. + + + Provides support for validating the input from an HTML form. + + + Gets or sets the name of the resource file (class key) that contains localized string values. + The name of the resource file (class key). + + + Retrieves the validation metadata for the specified model and applies each rule to the data field. + The HTML helper instance that this method extends. + The name of the property or model object that is being validated. + The parameter is null. + + + Retrieves the validation metadata for the specified model and applies each rule to the data field. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The type of the model. + The type of the property. + + + Displays a validation message if an error exists for the specified field in the object. + If the property or object is valid, an empty string; otherwise, a span element that contains an error message. + The HTML helper instance that this method extends. + The name of the property or model object that is being validated. + + + Displays a validation message if an error exists for the specified field in the object. + If the property or object is valid, an empty string; otherwise, a span element that contains an error message. + The HTML helper instance that this method extends. + The name of the property or model object that is being validated. + An object that contains the HTML attributes for the element. + + + Displays a validation message if an error exists for the specified field in the object. + If the property or object is valid, an empty string; otherwise, a span element that contains an error message. + The HTML helper instance that this method extends. + The name of the property or model object that is being validated. + An object that contains the HTML attributes for the element. + + + Displays a validation message if an error exists for the specified field in the object. + If the property or object is valid, an empty string; otherwise, a span element that contains an error message. + The HTML helper instance that this method extends. + The name of the property or model object that is being validated. + The message to display if the specified field contains an error. + + + Displays a validation message if an error exists for the specified field in the object. + If the property or object is valid, an empty string; otherwise, a span element that contains an error message. + The HTML helper instance that this method extends. + The name of the property or model object that is being validated. + The message to display if the specified field contains an error. + An object that contains the HTML attributes for the element. + + + Displays a validation message if an error exists for the specified field in the object. + If the property or object is valid, an empty string; otherwise, a span element that contains an error message. + The HTML helper instance that this method extends. + The name of the property or model object that is being validated. + The message to display if the specified field contains an error. + An object that contains the HTML attributes for the element. + + + Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression. + If the property or object is valid, an empty string; otherwise, a span element that contains an error message. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The type of the model. + The type of the property. + + + Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message. + If the property or object is valid, an empty string; otherwise, a span element that contains an error message. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The message to display if the specified field contains an error. + The type of the model. + The type of the property. + + + Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message and HTML attributes. + If the property or object is valid, an empty string; otherwise, a span element that contains an error message. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The message to display if the specified field contains an error. + An object that contains the HTML attributes for the element. + The type of the model. + The type of the property. + + + Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message and HTML attributes. + If the property or object is valid, an empty string; otherwise, a span element that contains an error message. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to render. + The message to display if the specified field contains an error. + An object that contains the HTML attributes for the element. + The type of the model. + The type of the property. + + + Returns an unordered list (ul element) of validation messages that are in the object. + A string that contains an unordered list (ul element) of validation messages. + The HTML helper instance that this method extends. + + + Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors. + A string that contains an unordered list (ul element) of validation messages. + The HTML helper instance that this method extends. + true to have the summary display model-level errors only, or false to have the summary display all errors. + + + Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors. + A string that contains an unordered list (ul element) of validation messages. + The HTML helper instance that this method extends. + true to have the summary display model-level errors only, or false to have the summary display all errors. + The message to display with the validation summary. + + + Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors. + A string that contains an unordered list (ul element) of validation messages. + The HTML helper instance that this method extends. + true to have the summary display model-level errors only, or false to have the summary display all errors. + The message to display with the validation summary. + A dictionary that contains the HTML attributes for the element. + + + Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors. + A string that contains an unordered list (ul element) of validation messages. + The HTML helper instance that this method extends. + true to have the summary display model-level errors only, or false to have the summary display all errors. + The message to display with the validation summary. + An object that contains the HTML attributes for the element. + + + Returns an unordered list (ul element) of validation messages that are in the object. + A string that contains an unordered list (ul element) of validation messages. + The HMTL helper instance that this method extends. + The message to display if the specified field contains an error. + + + Returns an unordered list (ul element) of validation messages that are in the object. + A string that contains an unordered list (ul element) of validation messages. + The HTML helper instance that this method extends. + The message to display if the specified field contains an error. + A dictionary that contains the HTML attributes for the element. + + + Returns an unordered list (ul element) of validation messages in the object. + A string that contains an unordered list (ul element) of validation messages. + The HTML helper instance that this method extends. + The message to display if the specified field contains an error. + An object that contains the HTML attributes for the element. + + + Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates. + + + Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates. + The HTML markup for the value. + The HTML helper instance that this method extends. + The name of the model. + + + Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates. + The HTML markup for the value. + The HTML helper instance that this method extends. + The name of the model. + The format string. + + + Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates. + The HTML markup for the value. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to expose. + The model. + The property. + + + Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates. + The HTML markup for the value. + The HTML helper instance that this method extends. + An expression that identifies the object that contains the properties to expose. + The format string. + The model. + The property. + + + Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates. + The HTML markup for the value. + The HTML helper instance that this method extends. + + + Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates. + The HTML markup for the value. + The HTML helper instance that this method extends. + The format string. + + + Compiles ASP.NET Razor views into classes. + + + Initializes a new instance of the class. + + + The inherits directive. + + + The model directive. + + + Extends the VBCodeParser class by adding support for the @model keyword. + + + Initializes a new instance of the class. + + + Sets a value that indicates whether the current code block and model should be inherited. + true if the code block and model is inherited; otherwise, false. + + + The Model Type Directive. + Returns void. + + + Configures the ASP.NET Razor parser and code generator for a specified file. + + + Initializes a new instance of the class. + The virtual path of the ASP.NET Razor file. + The physical path of the ASP.NET Razor file. + + + Returns the ASP.NET MVC language-specific Razor code generator. + The ASP.NET MVC language-specific Razor code generator. + The C# or Visual Basic code generator. + + + Returns the ASP.NET MVC language-specific Razor code parser using the specified language parser. + The ASP.NET MVC language-specific Razor code parser. + The C# or Visual Basic code parser. + + + \ No newline at end of file diff --git a/packages/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0.nupkg b/packages/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0.nupkg new file mode 100644 index 000000000..b4abcce81 Binary files /dev/null and b/packages/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0.nupkg differ diff --git a/packages/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0/lib/net40/Microsoft.Web.Mvc.FixedDisplayModes.dll b/packages/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0/lib/net40/Microsoft.Web.Mvc.FixedDisplayModes.dll new file mode 100644 index 000000000..d4a30b3b9 Binary files /dev/null and b/packages/Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0/lib/net40/Microsoft.Web.Mvc.FixedDisplayModes.dll differ diff --git a/packages/Microsoft.AspNet.Providers.Core.1.2/Microsoft.AspNet.Providers.Core.1.2.nupkg b/packages/Microsoft.AspNet.Providers.Core.1.2/Microsoft.AspNet.Providers.Core.1.2.nupkg new file mode 100644 index 000000000..4ba4602fb Binary files /dev/null and b/packages/Microsoft.AspNet.Providers.Core.1.2/Microsoft.AspNet.Providers.Core.1.2.nupkg differ diff --git a/packages/Microsoft.AspNet.Providers.Core.1.2/lib/net40/System.Web.Providers.dll b/packages/Microsoft.AspNet.Providers.Core.1.2/lib/net40/System.Web.Providers.dll new file mode 100644 index 000000000..1b40f44da Binary files /dev/null and b/packages/Microsoft.AspNet.Providers.Core.1.2/lib/net40/System.Web.Providers.dll differ diff --git a/packages/Microsoft.AspNet.Providers.Core.1.2/readme.html b/packages/Microsoft.AspNet.Providers.Core.1.2/readme.html new file mode 100644 index 000000000..7d35ba9c4 --- /dev/null +++ b/packages/Microsoft.AspNet.Providers.Core.1.2/readme.html @@ -0,0 +1,377 @@ + + + + + +ASP.NET Universal Providers Readme + + + + + + +

ASP.NET Universal Providers

+ +

Last update: 15 August 2012

+ + +

The +SqlMembershipProvider, +SqlRoleProvider, +SqlProfileProvider classes that shipped in ASP.NET through version 4 support only Microsoft SQL Server and Microsoft SQL Server Express. They do not support newer offerings such as +Microsoft SQL Azure and +Microsoft SQL Server Compact.

+

ASP.NET Universal Providers have been created in order to extend support to all editions of SQL Server 2005 and later and to SQL Azure. If you use these providers to develop your application, the application will be ready for cloud environments like Azure.

+

Other than supporting additional storage options, the providers work like the existing SQL-based providers. Except as noted below, using ASP.NET Universal Providers requires no change in any of your applications.

+ + +

Installing and Configuring ASP.NET Universal Providers

+ + + +

To install ASP.NET Universal Providers, you use a NuGet package, which installs all required files (including this documentation). The NuGet package automatically enables the new providers when it is installed. By default, the NuGet package configures provider to use SQL Server Express. To use SQL Server Compact or SQL Azure, you must change the connection string for the provider, as explained +later in this document.

+ +

To enable the providers, the NuGet package adds configuration entries in the +web.config file. The configuration for these providers is the same as the existing +SqlMembershipProvider class, but the type parameter is set to the type of the new providers, as shown in the following table:

+ + + + + + + + + + + + + + + + + + + + + + + +
SQL Provider TypesEquivalent Type for Universal Providers
System.Web.Security.SqlMembershipProviderSystem.Web.Providers.DefaultMembershipProvider
System.Web.Profile.SqlProfileProviderSystem.Web.Providers.DefaultProfileProvider
System.Web.Security.SqlRoleProviderSystem.Web.Providers.DefaultRoleProvider
(Built into default provider)System.Web.Providers.DefaultSessionStateProvider
+

In the web.config file, the configuration looks like the following example (the connection string has been wrapped for readability). The differences from the configuration for older SQL-based providers are highlighted. Notice that a section has been added to define custom session-state handling using a custom provider, as described later under +Storing Data in Session State using ASP.NET Universal Providers.

+
<configuration>
+<connectionStrings>
+  <add name="DefaultConnection"
+    connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnetdb;Integrated Security=True"
+    providerName="System.Data.SqlClient" />
+  </connectionStrings>
+
+  <system.web>
+    <membership defaultProvider="DefaultMembershipProvider">
+      <providers>
+        <clear />
+        <add name="DefaultMembershipProvider"
+             type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
+             connectionStringName="DefaultConnection"
+             enablePasswordRetrieval="false"
+             enablePasswordReset="true"
+             requiresQuestionAndAnswer="false"
+             requiresUniqueEmail="false"
+             maxInvalidPasswordAttempts="5"
+             minRequiredPasswordLength="6"
+             minRequiredNonalphanumericCharacters="0"
+             passwordAttemptWindow="10"
+             applicationName="/" />
+      </providers>
+    </membership>
+
+    <profile defaultProvider="DefaultProfileProvider">
+      <providers>
+        <clear />
+        <add name="DefaultProfileProvider"
+             type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
+             connectionStringName="DefaultConnection"
+             applicationName="/" />
+      </providers>
+    </profile>
+
+    <roleManager defaultProvider="DefaultRoleProvider" enabled="false">
+      <providers>
+        <clear />
+        <add name="DefaultRoleProvider"
+             type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
+             connectionStringName="DefaultConnection"
+             applicationName="/" />
+      </providers>
+    </roleManager>
+
+    <sessionState mode="Custom" customProvider="DefaultSessionProvider">
+      <providers>
+        <add name="DefaultSessionProvider"
+           type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
+           connectionStringName="DefaultConnection"
+           applicationName="/" />
+      </providers>
+    </sessionState>
+  </system.web> 
+ +

Selecting a Data Store

+

If you want to use SQL Server LocalDB database,change the connection string as shown in the following example:

+
+<connectionStrings>
+  <add name="DefaultConnection" providerName="System.Data.SqlClient" 
+connectionString="Data Source=(LocalDb)\v11.0;
+Initial Catalog=aspnet-ProjectName-GUID;Integrated Security=SSPI;
+AttachDBFilename=|DataDirectory|\aspnet-ProjectName-GUID.mdf" />
+<connectionStrings>
+
+

If you want to use SQL Server Express database,change the connection string as shown in the following example:

+
+<connectionStrings>
+  <add name="DefaultConnection" providerName="System.Data.SqlClient" 
+connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnetdb;
+    Integrated Security=True" providerName="System.Data.SqlClient"/>
+<connectionStrings>
+
+ +

If you want to use SQL Server Compact, change the connection string as shown in the following example:

+ +
<connectionStrings>
+  <add name="DefaultConnection" connectionString="Data Source=|DataDirectory|\aspnet.sdf" 
+      providerName="System.Data.SqlServerCe.4.0"/>
+</connectionStrings>
+

If you want to use SQL Azure, change the connection string as shown in the +following example (wrapped for readability):

+
<connectionStrings>
+  <add name="DefaultConnection" 
+     connectionString="data source=myDNSName;
+         User ID=myUserName;Password=myPassword;
+         Encrypt=true;Trusted_Connection=false=false"
+     providerName="System.Data.SqlClient"/>
+<connectionStrings>
+ +

Storing Data in Session State using ASP.NET Universal Providers

+ +

By default, ASP.NET stores session data using an in-process (in-memory) session provider. This provider allows you to put any object in session state, because session state simply holds a reference to the object, not the object itself.

+

However, cloud environments might run your application on multiple computers. Therefore, for cloud-based applications, the application must store session state in some form of storage (like a database) that be accessed by more than one machine. This puts some restrictions on what data you store in session state — essentially, the data must be serializable.

+

When you install ASP.NET Universal Providers, the installation process configures session state to use the +System.Web.Providers.DefaultSessionStateProvider type, as shown in the +web.config file example earlier. This type stores session state in a database.

+

Session data must be serializable. If you attempt to store something in session state that is not serializable, you will receive the following error:

+ +

Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. the same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.

+ +

There are two ways to resolve this issue: by marking the type as serializable or by using a surrogate serializer.

+ +

Marking Types as Serializable

+ +

If you have access to the source code for the type that is being stored in session state, you can mark the type using the +Serializable attribute, as in the following example. If the type contains additional classes, all the contained classes must be serializable as well.

+
[Serializable]
+public class Address { }
+
+[Serializable]
+public class Person { 
+     public Address Work;
+     public Address Home; 
+}
+ +

Using a Surrogate Serializer in .NET Framework 4.5

+ +

If it's not practical to mark the type as serializable in source code, and if you are using .NET Framework 4.5, you can use a surrogate serializer. (This technique does not work in .NET Framework 4.)

+

Create a class that implements the +ISerializationSurrogate interface. In this class, you implement +GetObjectData and +SetObjectData methods in order to serialize and deserialze the data, respectively. In +GetObjectData you invoke +SerializationInfo.AddValue (using the appropriate overload for the data type of your data) to add individual fields of the object to serialize to a +SerializationInfo object. In +SetObjectData you extract the serialized version back to its original value in the object. Here's an example:

+ + + + + + + + + + +
public class EmployeeSerializationSurrogate : ISerializationSurrogate
+{
+    // Serialize the Employee object to save the object name and address fields.
+    public void GetObjectData(Object obj, SerializationInfo info, StreamingContext context)
+    {
+        Employee emp = (Employee)obj;
+        info.AddValue("name", emp.name);
+        info.AddValue("address", emp.address);
+    }
+
+    // Deserialize the Employee object to set the object name and address fields.
+    public Object SetObjectData(Object obj, SerializationInfo info, StreamingContext context,
+        ISurrogateSelector selector)
+    {
+        Employee emp = (Employee)obj;
+        emp.name = info.GetString("name");
+        emp.address = info.GetString("address");
+        return null;
+    }
+}
+

You then register the serializer and the class to be serialized using the +SurrogateSelector class in code, like this:

+
protected void Page_Load(object sender, EventArgs e)
+{
+    SurrogateSelector ss = new SurrogateSelector();
+    ss.AddSurrogate(typeof(Employee), new StreamingContext(StreamingContextStates.All), new EmployeeSerializationSurrogate());
+    SessionStateUtility.SerializationSurrogateSelector = ss;
+}
+

Deploying to a Cloud Environment

+ +

If you are deploying to a cloud environment that has multiple web server instances, you should change session state mode from "InProc" to "Custom". In addition, change the connection string named "DefaultConnection" to connect to an instance of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express.

+ +

Known Issues

+ +
    + + + +
  • +

    During the installation process, NuGet performs an exact match on items in the +web.config file. If you have customized any of the elements in web.config that are updated by the installation process for ASP.NET Universal Providers, the installation process will not find these elements. Instead of updating the elements, the installation process will assume that they do not exist and add them. As a result, the +web.config will effectively contain duplicate elements.

    +

    If your application is experiencing issues that indicate problems in the web.config file, make sure that the file contains the elements that are illustrated earlier in this document and remove any duplicate elements.

    +
  • + +
  • +

    If you are working in Visual Studio and use Server Explorer to open the database that contains the membership, role, profile, or session provider tables, and if you then try to run the application, you might see an error like the following:

    +

    Cannot open database "aspnet" requested by the login. The login failed. Login failed for user 'yourname.'

    +

    To resolve this issue, right-click the database in Server Explorer and then click +Close Connection.

    +
  • + + +
  • +

    The new providers do not use the same tables, stored procedures, and database objects as the SQL-based providers. If you switch to the new providers in an existing application, the data from the existing tables will not be available. We are considering creating a conversion utility to help you move existing applications to the new providers.

    +
  • + + +
  • +

    Web Parts personalization will not work with Universal Providers. You must use the SQL Personalization provider. That in turn does not work with LocalDB, so you must use SQL Server Express.

    +
  • + +
  • +

    This release requires that the ASP.NET application be running under full trust.

    +
  • + +
+ + +

Additional Resources

+ + +

Disclaimer

+ + +

This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein.

+

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.

+

This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT. +

Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

+

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

+

Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, email address, logo, person, place or event is intended or should be inferred.

+

© 2011 Microsoft Corporation. All rights reserved.

+

Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

+

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

+ + + diff --git a/packages/Microsoft.AspNet.Providers.LocalDB.1.1/Microsoft.AspNet.Providers.LocalDB.1.1.nupkg b/packages/Microsoft.AspNet.Providers.LocalDB.1.1/Microsoft.AspNet.Providers.LocalDB.1.1.nupkg new file mode 100644 index 000000000..fc1e2541e Binary files /dev/null and b/packages/Microsoft.AspNet.Providers.LocalDB.1.1/Microsoft.AspNet.Providers.LocalDB.1.1.nupkg differ diff --git a/packages/Microsoft.AspNet.Providers.LocalDB.1.1/content/web.config.transform b/packages/Microsoft.AspNet.Providers.LocalDB.1.1/content/web.config.transform new file mode 100644 index 000000000..3b46548a0 --- /dev/null +++ b/packages/Microsoft.AspNet.Providers.LocalDB.1.1/content/web.config.transform @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/Microsoft.AspNet.Providers.LocalDB.1.1/tools/Install.ps1 b/packages/Microsoft.AspNet.Providers.LocalDB.1.1/tools/Install.ps1 new file mode 100644 index 000000000..cf44806a4 --- /dev/null +++ b/packages/Microsoft.AspNet.Providers.LocalDB.1.1/tools/Install.ps1 @@ -0,0 +1,220 @@ +param($installPath, $toolsPath, $package, $project) + +try { + # Set up variables + $timestamp = (Get-Date).ToString('yyyyMMddHHmmss') + $projectName = [IO.Path]::GetFileName($project.ProjectName.Trim([IO.PATH]::DirectorySeparatorChar, [IO.PATH]::AltDirectorySeparatorChar)) + $catalogName = "aspnet-$projectName-$timestamp" + $connectionString ="Data Source=(LocalDb)\v11.0;Initial Catalog=$catalogName;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\$catalogName.mdf" + $connectionStringToken = 'Data Source=(LocalDb)\v11.0;' + $config = $project.ProjectItems | Where-Object { $_.Name -eq "Web.config" } + $configPath = ($config.Properties | Where-Object { $_.Name -eq "FullPath" }).Value + + #Load the Config File + $xml = New-Object System.Xml.XmlDocument + $xml.Load($configPath) + + function CommentNode($node) { + if (!$node) { + return; + } + + $commentNode = $xml.CreateComment($node.OuterXml) + $parent = $node.ParentNode + $parent.InsertBefore($commentNode, $node) | Out-Null + $parent.RemoveChild($node) | Out-Null + } + + # Comment out older providers + $node = $xml.SelectSingleNode("/configuration/system.web/membership/providers/add[@type='System.Web.Security.SqlMembershipProvider']") + $addedNode = $xml.SelectSingleNode("/configuration/system.web/membership/providers/add[@name='DefaultMembershipProvider']") + + if ($node) { + # Copy all attributes other than 'name', 'type' and 'connectionStringName' to the newly added node. + $node.Attributes | Where { ! (@('name', 'type', 'connectionStringName') -contains $_.name) } | ForEach { + $addedNode.SetAttribute($_.name, $_.value) + } + } + + $oldConnectionNode = $xml.SelectSingleNode("/configuration/connectionStrings/add[@name='$($node.connectionStringName)']") + CommentNode $node + CommentNode $oldConnectionNode + + $node = $xml.SelectSingleNode("/configuration/system.web/profile/providers/add[@type='System.Web.Profile.SqlProfileProvider']") + $oldConnectionNode = $xml.SelectSingleNode("/configuration/connectionStrings/add[@name='$($node.connectionStringName)']") + CommentNode $node + CommentNode $oldConnectionNode + + $node = $xml.SelectSingleNode("/configuration/system.web/roleManager/providers/add[@type='System.Web.Security.SqlRoleProvider']") + $oldConnectionNode = $xml.SelectSingleNode("/configuration/connectionStrings/add[@name='$($node.connectionStringName)']") + $connectionStringsToComment += $node.connectionStringName + CommentNode $node + CommentNode $oldConnectionNode + + # Verify that the connectionStrings node exists + $connectionStrings = $xml.SelectSingleNode("/configuration/connectionStrings") + if (!$connectionStrings) { + $connectionStrings = $xml.CreateElement("connectionStrings") + $xml.configuration.AppendChild($connectionStrings) | Out-Null + } + + if (!($connectionStrings.SelectNodes("add[@name='DefaultConnection']") | Where { $_.connectionString.StartsWith($connectionStringToken, 'OrdinalIgnoreCase') })) { + # If there aren't any connection strings that look like ours, proceed to add one + $newConnectionNode = $xml.CreateElement("add") + $newConnectionNode.SetAttribute("name", 'DefaultConnection') + $newConnectionNode.SetAttribute("providerName", "System.Data.SqlClient") + $newConnectionNode.SetAttribute("connectionString", $connectionString) + + $connectionStrings.AppendChild($newConnectionNode) | Out-Null + } + + # Save the Config File + $xml.Save($configPath) + +} catch { + Write-Error "Unable to update the web.config file at $configPath. Add the following connection string to your config: " +} + +# SIG # Begin signature block +# MIIaRAYJKoZIhvcNAQcCoIIaNTCCGjECAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB +# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR +# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUM2fyakiWFghUj5OcFEF6koKx +# /6OgghUtMIIEoDCCA4igAwIBAgIKYRnMkwABAAAAZjANBgkqhkiG9w0BAQUFADB5 +# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk +# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpN +# aWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQTAeFw0xMTEwMTAyMDMyMjVaFw0xMzAx +# MTAyMDMyMjVaMIGDMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ +# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +# MQ0wCwYDVQQLEwRNT1BSMR4wHAYDVQQDExVNaWNyb3NvZnQgQ29ycG9yYXRpb24w +# ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuW759ESTjhgbgZv9ItRe9 +# AuS0DDLwcj59LofXTqGxp0Mv92WeMeEyMUWu18EkhCHXLrWEfvo101Mc17ZRHk/O +# ZrnrtwwC/SlcraiH9soitNW/CHX1inCPY9fvih7pj0MkZFrTh32QbTusds1XNn3o +# vBBWrJjwiV0uZMavJgleHmMV8T2/Fo+ZiALDMLfBC2AfD3LM1reoNRKGm6ELCuaT +# W476VJzB8xlfQo0Snx0/kLcnE4MZMoId89mH1CGyPKK2B0/XJKrujfWz2fr5OU+n +# 6fKvWVL03EGbLxFwY93q3qrxbSEEEFMzu7JPxeFTskFlR2439rzpmxZBkWsuWzDD +# AgMBAAGjggEdMIIBGTATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUG1IO +# 8xEqt8CJwxGBPdSWWLmjU24wDgYDVR0PAQH/BAQDAgeAMB8GA1UdIwQYMBaAFMsR +# 6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8wOC0z +# MS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMxLTIw +# MTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQClWzZsrU6baRLjb4oCm2l3w2xkciiI +# 2T1FbSwYe9QoLxPiWWobwgs0t4r96rmU7Acx5mr0dQTTp9peOgaeEP2pDb2cUUNv +# /2eUnOHPfPAksDXMg13u2sBvNknAWgpX9nPhnvPjCEw7Pi/M0s3uTyJw9wQfAqZL +# m7iPXIgONpRsMwe4qa1RoNDC3I4iEr3D34LXVqH33fClIFcQEJ3urIZ0bHGbwfDy +# wnBep9ttTTdYmU15QNA0XVolrmfrG05GBrCMKR+jEI+lM58j1fi1Rn3g7mOYkEs+ +# BagvsBizWaSvQVOOCAUQLSrJOgZMHC6pMVFWZKyazKyXmCmKl5CH6p22MIIEujCC +# A6KgAwIBAgIKYQUZlgAAAAAAGzANBgkqhkiG9w0BAQUFADB3MQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGlt +# ZS1TdGFtcCBQQ0EwHhcNMTEwNzI1MjA0MjE5WhcNMTIxMDI1MjA0MjE5WjCBszEL +# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9Q +# UjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjlFNzgtODY0Qi0wMzlEMSUwIwYD +# VQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIBIjANBgkqhkiG9w0B +# AQEFAAOCAQ8AMIIBCgKCAQEA08s7U6KfRKN6q01WcVOKd6o3k34BPv2rAqNTqf/R +# sSLFAJDndW7uGOiBDhPF2GEAvh+gdjsEDQTFBKCo/ENTBqEEBLkLkpgCYjjv1DMS +# 9ys9e++tRVeFlSCf12M0nGJGjr6u4NmeOfapVf3P53fmNRPvXOi/SJNPGkMHWDiK +# f4UUbOrJ0Et6gm7L0xVgCBSJlKhbPzrJPyB9bS9YGn3Kiji8w8I5aNgtWBoj7SoQ +# CFogjIKl7dGXRZKFzMM3g98NmHzF07bgmVPYeAj15SMhB2KGWmppGf1w+VM0gfcl +# MRmGh4vAVZr9qkw1Ff1b6ZXJq1OYKV8speElD2TF8rAndQIDAQABo4IBCTCCAQUw +# HQYDVR0OBBYEFHkj56ENvlUsaBgpYoJn1vPhNjhaMB8GA1UdIwQYMBaAFCM0+NlS +# RnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9jcmwubWlj +# cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY3Jvc29mdFRpbWVTdGFtcFBD +# QS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsGAQUFBzAChjxodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcnQw +# EwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcNAQEFBQADggEBAEfCdoFbMd1v +# 0zyZ8npsfpcTUCwFFxsQuEShtYz0Vs+9sCG0ZG1hHNju6Ov1ku5DohhEw/r67622 +# XH+XbUu1Q/snYXgIVHyx+a+YCrR0xKroLVDEff59TqGZ1icot67Y37GPgyKOzvN5 +# /GEUbb/rzISw36O7WwW36lT1Yh1sJ6ZjS/rjofq734WWZWlTsLZxmGQmZr3F8Vxi +# vJH0PZxLQgANzzgFFCZa3CoFS39qmTjY3XOZos6MUCSepOv1P4p4zFSZXSVmpEEG +# KK9JxLRSlOzeAoNk/k3U/0ui/CmA2+4/qzztM4jKvyJg0Fw7BLAKtJhtPKc6T5rR +# ARYRYopBdqAwggW8MIIDpKADAgECAgphMyYaAAAAAAAxMA0GCSqGSIb3DQEBBQUA +# MF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/IsZAEZFgltaWNyb3Nv +# ZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +# eTAeFw0xMDA4MzEyMjE5MzJaFw0yMDA4MzEyMjI5MzJaMHkxCzAJBgNVBAYTAlVT +# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2Rl +# IFNpZ25pbmcgUENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsnJZ +# XBkwZL8dmmAgIEKZdlNsPhvWb8zL8epr/pcWEODfOnSDGrcvoDLs/97CQk4j1XIA +# 2zVXConKriBJ9PBorE1LjaW9eUtxm0cH2v0l3511iM+qc0R/14Hb873yNqTJXEXc +# r6094CholxqnpXJzVvEXlOT9NZRyoNZ2Xx53RYOFOBbQc1sFumdSjaWyaS/aGQv+ +# knQp4nYvVN0UMFn40o1i/cvJX0YxULknE+RAMM9yKRAoIsc3Tj2gMj2QzaE4BoVc +# TlaCKCoFMrdL109j59ItYvFFPeesCAD2RqGe0VuMJlPoeqpK8kbPNzw4nrR3XKUX +# no3LEY9WPMGsCV8D0wIDAQABo4IBXjCCAVowDwYDVR0TAQH/BAUwAwEB/zAdBgNV +# HQ4EFgQUyxHoytK0FlgByTcuMxYWuUyaCh8wCwYDVR0PBAQDAgGGMBIGCSsGAQQB +# gjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFP3RMU7TJoqV4ZhgO6gxb6Y8vNgt +# MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMB8GA1UdIwQYMBaAFA6sgmBAVieX +# 5SUT/CrhClOVWeSkMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9z +# b2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBU +# BggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0 +# LmNvbS9wa2kvY2VydHMvTWljcm9zb2Z0Um9vdENlcnQuY3J0MA0GCSqGSIb3DQEB +# BQUAA4ICAQBZOT5/Jkav629AsTK1ausOL26oSffrX3XtTDst10OtC/7L6S0xoyPM +# fFCYgCFdrD0vTLqiqFac43C7uLT4ebVJcvc+6kF/yuEMF2nLpZwgLfoLUMRWzS3j +# StK8cOeoDaIDpVbguIpLV/KVQpzx8+/u44YfNDy4VprwUyOFKqSCHJPilAcd8uJO +# +IyhyugTpZFOyBvSj3KVKnFtmxr4HPBT1mfMIv9cHc2ijL0nsnljVkSiUc356aNY +# Vt2bAkVEL1/02q7UgjJu/KSVE+Traeepoiy+yCsQDmWOmdv1ovoSJgllOJTxeh9K +# u9HhVujQeJYYXMk1Fl/dkx1Jji2+rTREHO4QFRoAXd01WyHOmMcJ7oUOjE9tDhNO +# PXwpSJxy0fNsysHscKNXkld9lI2gG0gDWvfPo2cKdKU27S0vF8jmcjcS9G+xPGeC +# +VKyjTMWZR4Oit0Q3mT0b85G1NMX6XnEBLTT+yzfH4qerAr7EydAreT54al/RrsH +# YEdlYEBOsELsTu2zdnnYCjQJbRyAMR/iDlTd5aH75UcQrWSY/1AWLny/BSF64pVB +# J2nDk4+VyY3YmyGuDVyc8KKuhmiDDGotu3ZrAB2WrfIWe/YWgyS5iM9qqEcxL5rc +# 43E91wB+YkfRzojJuBj6DnKNwaM9rwJAav9pm5biEKgQtDdQCNbDPTCCBgcwggPv +# oAMCAQICCmEWaDQAAAAAABwwDQYJKoZIhvcNAQEFBQAwXzETMBEGCgmSJomT8ixk +# ARkWA2NvbTEZMBcGCgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWlj +# cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTA3MDQwMzEyNTMw +# OVoXDTIxMDQwMzEzMDMwOVowdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBMIIBIjAN +# BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn6Fssd/bSJIqfGsuGeG94uPFmVEj +# UK3O3RhOJA/u0afRTK10MCAR6wfVVJUVSZQbQpKumFwwJtoAa+h7veyJBw/3DgSY +# 8InMH8szJIed8vRnHCz8e+eIHernTqOhwSNTyo36Rc8J0F6v0LBCBKL5pmyTZ9co +# 3EZTsIbQ5ShGLieshk9VUgzkAyz7apCQMG6H81kwnfp+1pez6CGXfvjSE/MIt1Nt +# UrRFkJ9IAEpHZhEnKWaol+TTBoFKovmEpxFHFAmCn4TtVXj+AZodUAiFABAwRu23 +# 3iNGu8QtVJ+vHnhBMXfMm987g5OhYQK1HQ2x/PebsgHOIktU//kFw8IgCwIDAQAB +# o4IBqzCCAacwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUIzT42VJGcArtQPt2 +# +7MrsMM1sw8wCwYDVR0PBAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMIGYBgNVHSME +# gZAwgY2AFA6sgmBAVieX5SUT/CrhClOVWeSkoWOkYTBfMRMwEQYKCZImiZPyLGQB +# GRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQDEyRNaWNy +# b3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCEHmtFqFKoKWtTHNY9AcT +# LmUwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br +# aS9jcmwvcHJvZHVjdHMvbWljcm9zb2Z0cm9vdGNlcnQuY3JsMFQGCCsGAQUFBwEB +# BEgwRjBEBggrBgEFBQcwAoY4aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j +# ZXJ0cy9NaWNyb3NvZnRSb290Q2VydC5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgw +# DQYJKoZIhvcNAQEFBQADggIBABCXisNcA0Q23em0rXfbznlRTQGxLnRxW20ME6vO +# vnuPuC7UEqKMbWK4VwLLTiATUJndekDiV7uvWJoc4R0Bhqy7ePKL0Ow7Ae7ivo8K +# BciNSOLwUxXdT6uS5OeNatWAweaU8gYvhQPpkSokInD79vzkeJkuDfcH4nC8GE6d +# jmsKcpW4oTmcZy3FUQ7qYlw/FpiLID/iBxoy+cwxSnYxPStyC8jqcD3/hQoT38IK +# YY7w17gX606Lf8U1K16jv+u8fQtCe9RTciHuMMq7eGVcWwEXChQO0toUmPU8uWZY +# sy0v5/mFhsxRVuidcJRsrDlM1PZ5v6oYemIp76KbKTQGdxpiyT0ebR+C8AvHLLvP +# Q7Pl+ex9teOkqHQ1uE7FcSMSJnYLPFKMcVpGQxS8s7OwTWfIn0L/gHkhgJ4VMGbo +# QhJeGsieIiHQQ+kr6bv0SMws1NgygEwmKkgkX1rqVu+m3pmdyjpvvYEndAYR7nYh +# v5uCwSdUtrFqPYmhdmG0bqETpr+qR/ASb/2KMmyy/t9RyIwjyWa9nR2HEmQCPS2v +# WY+45CHltbDKY7R4VAXUQS5QrJSwpXirs6CWdRrZkocTdSIvMqgIbqBbjCW/oO+E +# yiHW6x5PyZruSeD3AWVviQt9yGnI5m7qp5fOMSn/DsVbXNhNG6HY+i+ePy5VFmvJ +# E6P9MYIEgTCCBH0CAQEwgYcweTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEjMCEGA1UEAxMaTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0ECCmEZ +# zJMAAQAAAGYwCQYFKw4DAhoFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIB +# BDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQU +# 9xYM6Gt10B10F4T8cFicUQvWvVIwTgYKKwYBBAGCNwIBDDFAMD6gJIAiAE0AaQBj +# AHIAbwBzAG8AZgB0ACAAQQBTAFAALgBOAEUAVKEWgBRodHRwOi8vd3d3LmFzcC5u +# ZXQvIDANBgkqhkiG9w0BAQEFAASCAQCuP8jCT3sq6XqWKCAcNJF601H1Zr+nKpXF +# UkZm2Og5DjNN0EovL6vbw5GFU3+jnvW3NTGF3w8Ni/IkJj9KLbnz/MamhpoCY2N8 +# p3adGz5bvVxacZsiIcq3LRcOiasKCxuFu/bemfulxcOeho9rVc3zudiu3GbgsErb +# ZH098KrmX7Vc/0VZgR9hlhN9QNXY0+ZkuKaB2URiowz8CePkSaMW5kuCF3H5eUpA +# WUImlvqdgCsNDwUxIAVr5gkDjFZwky+VhNPT8e/ZtQiXxZBnftYujuRpp2wZTwLk +# vAz/SA/X+mTKZJwtZloO4//l5WnBj2tg6ML3U4qk+mvhZIylsCy/oYICHTCCAhkG +# CSqGSIb3DQEJBjGCAgowggIGAgEBMIGFMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xITAfBgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD +# QQIKYQUZlgAAAAAAGzAHBgUrDgMCGqBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0B +# BwEwHAYJKoZIhvcNAQkFMQ8XDTEyMDYwNDE2NTkzMFowIwYJKoZIhvcNAQkEMRYE +# FEHQYQK8DGgOoGQf028vCOnG6FGYMA0GCSqGSIb3DQEBBQUABIIBAGzVRWMbRJoL +# kuebcjjH8n5+KlB8oAcCLRgU+unIJP105kip47XIqvUH/8AOFVN4Oto6RVtqwNA2 +# a+uYuSdfwdZjKNL/SjkXd0vSB5j86xEx7ac6Apd+/6YES1SsuAm2OR7swBkXiTId +# EIlkZ1XekIZ7dHz4bu+Ee5FoVm2wKn4RZbTtEcyGHr/BAPHXwWuoObDrt6KJW+qK +# ivYWvN05JqNal/Zsd3P+azKaEk9FJncuK1zdSJXmixam8ZHm+ixNlwO3nX5bi8ix +# yJORXvJZGE2QrSufiH/+HhONa8n6YMRuWw6Ws/2io5w+NGlThiTe0n3AuKbB773Z +# YZgAzu+XkmI= +# SIG # End signature block diff --git a/packages/Microsoft.AspNet.Razor.2.0.20715.0/Microsoft.AspNet.Razor.2.0.20715.0.nupkg b/packages/Microsoft.AspNet.Razor.2.0.20715.0/Microsoft.AspNet.Razor.2.0.20715.0.nupkg new file mode 100644 index 000000000..6c4f4c912 Binary files /dev/null and b/packages/Microsoft.AspNet.Razor.2.0.20715.0/Microsoft.AspNet.Razor.2.0.20715.0.nupkg differ diff --git a/packages/Microsoft.AspNet.Razor.2.0.20715.0/lib/net40/System.Web.Razor.dll b/packages/Microsoft.AspNet.Razor.2.0.20715.0/lib/net40/System.Web.Razor.dll new file mode 100644 index 000000000..854f5e267 Binary files /dev/null and b/packages/Microsoft.AspNet.Razor.2.0.20715.0/lib/net40/System.Web.Razor.dll differ diff --git a/packages/Microsoft.AspNet.Razor.2.0.20715.0/lib/net40/System.Web.Razor.xml b/packages/Microsoft.AspNet.Razor.2.0.20715.0/lib/net40/System.Web.Razor.xml new file mode 100644 index 000000000..b42f27cb9 --- /dev/null +++ b/packages/Microsoft.AspNet.Razor.2.0.20715.0/lib/net40/System.Web.Razor.xml @@ -0,0 +1,4359 @@ + + + + System.Web.Razor + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + . + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Enumerates the list of Visual Basic keywords. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + \ No newline at end of file diff --git a/packages/Microsoft.AspNet.Web.Optimization.1.0.0/Microsoft.AspNet.Web.Optimization.1.0.0.nupkg b/packages/Microsoft.AspNet.Web.Optimization.1.0.0/Microsoft.AspNet.Web.Optimization.1.0.0.nupkg new file mode 100644 index 000000000..8acd3091e Binary files /dev/null and b/packages/Microsoft.AspNet.Web.Optimization.1.0.0/Microsoft.AspNet.Web.Optimization.1.0.0.nupkg differ diff --git a/packages/Microsoft.AspNet.Web.Optimization.1.0.0/lib/net40/System.Web.Optimization.dll b/packages/Microsoft.AspNet.Web.Optimization.1.0.0/lib/net40/System.Web.Optimization.dll new file mode 100644 index 000000000..1caba6c0e Binary files /dev/null and b/packages/Microsoft.AspNet.Web.Optimization.1.0.0/lib/net40/System.Web.Optimization.dll differ diff --git a/packages/Microsoft.AspNet.WebApi.4.0.20710.0/Microsoft.AspNet.WebApi.4.0.20710.0.nupkg b/packages/Microsoft.AspNet.WebApi.4.0.20710.0/Microsoft.AspNet.WebApi.4.0.20710.0.nupkg new file mode 100644 index 000000000..3098cd995 Binary files /dev/null and b/packages/Microsoft.AspNet.WebApi.4.0.20710.0/Microsoft.AspNet.WebApi.4.0.20710.0.nupkg differ diff --git a/packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/Microsoft.AspNet.WebApi.Client.4.0.20710.0.nupkg b/packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/Microsoft.AspNet.WebApi.Client.4.0.20710.0.nupkg new file mode 100644 index 000000000..9206b80e4 Binary files /dev/null and b/packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/Microsoft.AspNet.WebApi.Client.4.0.20710.0.nupkg differ diff --git a/packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/lib/net40/System.Net.Http.Formatting.dll b/packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/lib/net40/System.Net.Http.Formatting.dll new file mode 100644 index 000000000..367d253b9 Binary files /dev/null and b/packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/lib/net40/System.Net.Http.Formatting.dll differ diff --git a/packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/lib/net40/System.Net.Http.Formatting.xml b/packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/lib/net40/System.Net.Http.Formatting.xml new file mode 100644 index 000000000..65ead5347 --- /dev/null +++ b/packages/Microsoft.AspNet.WebApi.Client.4.0.20710.0/lib/net40/System.Net.Http.Formatting.xml @@ -0,0 +1,1489 @@ + + + + System.Net.Http.Formatting + + + + Extension methods that aid in making formatted requests using . + + + Sends a POST request as an asynchronous operation, with a specified value serialized as JSON. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The type of object to serialize. + + + Sends a POST request as an asynchronous operation, with a specified value serialized as JSON. Includes a cancellation token to cancel the request. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The type of object to serialize. + + + Sends a POST request as an asynchronous operation, with a specified value serialized as XML. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The type of object to serialize. + + + Sends a POST request as an asynchronous operation, with a specified value serialized as XML. Includes a cancellation token to cancel the request. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The type of object to serialize. + + + Sends a POST request as an asynchronous operation, with a specified value serialized using the given formatter. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The formatter used to serialize the value. + The type of object to serialize. + + + Sends a POST request as an asynchronous operation, with a specified value serialized using the given formatter and media type. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The formatter used to serialize the value. + The authoritative value of the Content-Type header. Can be null, in which case the default content type of the formatter will be used. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The type of object to serialize. + + + Sends a POST request as an asynchronous operation, with a specified value serialized using the given formatter and media type string. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The formatter used to serialize the value. + The authoritative value of the Content-Type header. Can be null, in which case the default content type of the formatter will be used. + The type of object to serialize. + + + Sends a POST request as an asynchronous operation, with a specified value serialized using the given formatter and media type string. Includes a cancellation token to cancel the request. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The formatter used to serialize the value. + The authoritative value of the Content-Type header. Can be null, in which case the default content type of the formatter will be used. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The type of object to serialize. + + + Sends a POST request as an asynchronous operation, with a specified value serialized using the given formatter. Includes a cancellation token to cancel the request. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The formatter used to serialize the value. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The type of object to serialize. + + + Sends a PUT request as an asynchronous operation, with a specified value serialized as JSON. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The type of object to serialize. + + + Sends a PUT request as an asynchronous operation, with a specified value serialized as JSON. Includes a cancellation token to cancel the request. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The type of object to serialize. + + + Sends a PUT request as an asynchronous operation, with a specified value serialized as XML. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The type of object to serialize. + + + Sends a PUT request as an asynchronous operation, with a specified value serialized as XML. Includes a cancellation token to cancel the request. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The type of object to serialize. + + + Sends a PUT request as an asynchronous operation, with a specified value serialized using the given formatter. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The formatter used to serialize the value. + The type of object to serialize. + + + Sends a PUT request as an asynchronous operation, with a specified value serialized using the given formatter and media type. Includes a cancellation token to cancel the request. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The formatter used to serialize the value. + The authoritative value of the Content-Type header. Can be null, in which case the default content type of the formatter will be used. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The type of object to serialize. + + + Sends a PUT request as an asynchronous operation, with a specified value serialized using the given formatter and media type string. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The formatter used to serialize the value. + The authoritative value of the Content-Type header. Can be null, in which case the default content type of the formatter will be used. + The type of object to serialize. + + + Sends a PUT request as an asynchronous operation, with a specified value serialized using the given formatter and media type string. Includes a cancellation token to cancel the request. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The formatter used to serialize the value. + The authoritative value of the Content-Type header. Can be null, in which case the default content type of the formatter will be used. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The type of object to serialize. + + + Sends a PUT request as an asynchronous operation, with a specified value serialized using the given formatter and medai type string. Includes a cancellation token to cancel the request. + A task object representing the asynchronous operation. + The client used to make the request. + The URI the request is sent to. + The value to write into the entity body of the request. + The formatter used to serialize the value. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The type of object to serialize. + + + Represents the factory for creating new instance of . + + + Creates a new instance of the . + A new instance of the . + The list of HTTP handler that delegates the processing of HTTP response messages to another handler. + + + Creates a new instance of the . + A new instance of the . + The inner handler which is responsible for processing the HTTP response messages. + The list of HTTP handler that delegates the processing of HTTP response messages to another handler. + + + Creates a new instance of the which should be pipelined. + A new instance of the which should be pipelined. + The inner handler which is responsible for processing the HTTP response messages. + The list of HTTP handler that delegates the processing of HTTP response messages to another handler. + + + Specifies extension methods to allow strongly typed objects to be read from HttpContent instances. + + + Returns a Task that will yield an object of the specified type <typeparamref name="T" /> from the content instance. + An object instance of the specified type. + The HttpContent instance from which to read. + The type of the object to read. + + + Returns a Task that will yield an object of the specified type <typeparamref name="T" /> from the content instance. + An object instance of the specified type. + The HttpContent instance from which to read. + The collection of MediaTyepFormatter instances to use. + The type of the object to read. + + + Returns a Task that will yield an object of the specified type <typeparamref name="T" /> from the content instance. + An object instance of the specified type. + The HttpContent instance from which to read. + The collection of MediaTypeFormatter instances to use. + The IFormatterLogger to log events to. + The type of the object to read. + + + Returns a Task that will yield an object of the specified type from the content instance. + A Task that will yield an object instance of the specified type. + The HttpContent instance from which to read. + The type of the object to read. + + + Returns a Task that will yield an object of the specified type from the content instance using one of the provided formatters to deserialize the content. + An object instance of the specified type. + The HttpContent instance from which to read. + The type of the object to read. + The collection of MediaTypeFormatter instances to use. + + + Returns a Task that will yield an object of the specified type from the content instance using one of the provided formatters to deserialize the content. + An object instance of the specified type. + The HttpContent instance from which to read. + The type of the object to read. + The collection of MediaTypeFormatter instances to use. + The IFormatterLogger to log events to. + + + Extension methods to read HTML form URL-encoded datafrom instances. + + + Determines whether the specified content is HTML form URL-encoded data. + true if the specified content is HTML form URL-encoded data; otherwise, false. + The content. + + + Asynchronously reads HTML form URL-encoded from an instance and stores the results in a object. + A task object representing the asynchronous operation. + The content. + + + Provides extension methods to read and entities from instances. + + + Determines whether the specified content is HTTP request message content. + true if the specified content is HTTP message content; otherwise, false. + The content to check. + + + Determines whether the specified content is HTTP response message content. + true if the specified content is HTTP message content; otherwise, false. + The content to check. + + + Reads the as an . + The parsed instance. + The content to read. + + + Reads the as an . + The parsed instance. + The content to read. + The URI scheme to use for the request URI. + + + Reads the as an . + The parsed instance. + The content to read. + The URI scheme to use for the request URI. + The size of the buffer. + + + Reads the as an . + The parsed instance. + The content to read. + The URI scheme to use for the request URI. + The size of the buffer. + The maximum length of the HTTP header. + + + Reads the as an . + The parsed instance. + The content to read. + + + Reads the as an . + The parsed instance. + The content to read. + The size of the buffer. + + + Reads the as an . + The parsed instance. + The content to read. + The size of the buffer. + The maximum length of the HTTP header. + + + Extension methods to read MIME multipart entities from instances. + + + Determines whether the specified content is MIME multipart content. + true if the specified content is MIME multipart content; otherwise, false. + The content. + + + Determines whether the specified content is MIME multipart content with the specified subtype. + true if the specified content is MIME multipart content with the specified subtype; otherwise, false. + The content. + The MIME multipart subtype to match. + + + Reads all body parts within a MIME multipart message and produces a set of instances as a result. + A <see cref="T:System.Threading.Tasks.Task`1" /> representing the tasks of getting the collection of instances where each instance represents a body part. + An existing instance to use for the object's content. + + + Reads all body parts within a MIME multipart message and produces a set of instances as a result using the streamProvider instance to determine where the contents of each body part is written. + A representing the tasks of getting the collection of instances where each instance represents a body part. + An existing instance to use for the object's content. + A stream provider providing output streams for where to write body parts as they are parsed. + The type of the MIME multipart. + + + Reads all body parts within a MIME multipart message and produces a set of instances as a result using the streamProvider instance to determine where the contents of each body part is written and bufferSize as read buffer size. + A representing the tasks of getting the collection of instances where each instance represents a body part. + An existing instance to use for the object's content. + A stream provider providing output streams for where to write body parts as they are parsed. + Size of the buffer used to read the contents. + The type of the MIME multipart. + + + Derived class which can encapsulate an or an as an entity with media type "application/http". + + + Initializes a new instance of the class encapsulating an . + The instance to encapsulate. + + + Initializes a new instance of the class encapsulating an . + The instance to encapsulate. + + + Releases unmanaged and - optionally - managed resources + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the HTTP request message. + + + Gets the HTTP response message. + + + Asynchronously serializes the object's content to the given stream. + A instance that is asynchronously serializing the object's content. + The to which to write. + The associated . + + + Computes the length of the stream if possible. + true if the length has been computed; otherwise false. + The computed length of the stream. + + + Provides extension methods for the class. + + + Gets any cookie headers present in the request. + A collection of instances. + The request headers. + + + Gets any cookie headers present in the request that contain a cookie state whose name that matches the specified value. + A collection of instances. + The request headers. + The cookie state name to match. + + + + + Provides extension methods for the class. + + + Adds cookies to a response. Each Set-Cookie header is represented as one instance. A contains information about the domain, path, and other cookie information as well as one or more instances. Each instance contains a cookie name and whatever cookie state is associate with that name. The state is in the form of a which on the wire is encoded as HTML Form URL-encoded data. This representation allows for multiple related "cookies" to be carried within the same Cookie header while still providing separation between each cookie state. A sample Cookie header is shown below. In this example, there are two with names state1 and state2 respectively. Further, each cookie state contains two name/value pairs (name1/value1 and name2/value2) and (name3/value3 and name4/value4). <code> Set-Cookie: state1:name1=value1&amp;name2=value2; state2:name3=value3&amp;name4=value4; domain=domain1; path=path1; </code> + The response headers + The cookie values to add to the response. + + + Represents a multipart file data. + + + Initializes a new instance of the class. + The headers of the multipart file data. + The name of the local file for the multipart file data. + + + Gets or sets the headers of the multipart file data. + The headers of the multipart file data. + + + Gets or sets the name of the local file for the multipart file data. + The name of the local file for the multipart file data. + + + Represents an suited for writing each MIME body parts of the MIME multipart message to a file using a . + + + Initializes a new instance of the class. + The root path where the content of MIME multipart body parts are written to. + + + Initializes a new instance of the class. + The root path where the content of MIME multipart body parts are written to. + The number of bytes buffered for writes to the file. + + + Gets or sets the number of bytes buffered for writes to the file. + The number of bytes buffered for writes to the file. + + + Gets or sets the multipart file data. + The multipart file data. + + + Gets the name of the local file which will be combined with the root path to create an absolute file name where the contents of the current MIME body part will be stored. + A relative filename with no path component. + The headers for the current MIME body part. + + + Gets the stream instance where the message body part is written to. + The instance where the message body part is written to. + The content of HTTP. + The header fields describing the body part. + + + Gets or sets the root path where the content of MIME multipart body parts are written to. + The root path where the content of MIME multipart body parts are written to. + + + An suited for use with HTML file uploads for writing file content to a . The stream provider looks at the <b>Content-Disposition</b> header field and determines an output based on the presence of a <b>filename</b> parameter. If a <b>filename</b> parameter is present in the <b>Content-Disposition</b> header field then the body part is written to a , otherwise it is written to a . This makes it convenient to process MIME Multipart HTML Form data which is a combination of form data and file content. + + + Initializes a new instance of the class. + The root path where the content of MIME multipart body parts are written to. + + + Initializes a new instance of the class. + The root path where the content of MIME multipart body parts are written to. + The number of bytes buffered for writes to the file. + + + Reads the non-file contents as form data + A task that represents the asynchronous operation. + + + Gets a of form data passed as part of the multipart form data. + The of form data. + + + The instance where the message body part is written. + The HTTP content that contains this body part. + Header fields describing the body part. + + + Represents a multipart memory stream provider. + + + Initializes a new instance of the class. + + + Returns the for the . + The for the . + A object. + The HTTP content headers. + + + Represents the provider for the multipart related multistream. + + + Initializes a new instance of the class. + + + Gets the related stream for the provider. + The content headers. + The parent content. + The http content headers. + + + Gets the root content of the . + The root content of the . + + + Represents a stream provider that examines the headers provided by the MIME multipart parser as part of the MIME multipart extension methods (see ) and decides what kind of stream to return for the body part to be written to. + + + Initializes a new instance of the class. + + + Gets or sets the contents for this . + The contents for this . + + + Executes the post processing operation for this . + The asynchronous task for this operation. + + + Gets the stream where to write the body part to. This method is called when a MIME multipart body part has been parsed. + The instance where the message body part is written to. + The content of the HTTP. + The header fields describing the body part. + + + Contains a value as well as an associated that will be used to serialize the value when writing this content. + + + Initializes a new instance of the class. + The type of object this instance will contain. + The value of the object this instance will contain. + The formatter to use when serializing the value. + + + Initializes a new instance of the class. + The type of object this instance will contain. + The value of the object this instance will contain. + The formatter to use when serializing the value. + The authoritative value of the Content-Type header. Can be null, in which case the default content type of the formatter will be used. + + + Initializes a new instance of the class. + The type of object this instance will contain. + The value of the object this instance will contain. + The formatter to use when serializing the value. + The authoritative value of the Content-Type header. + + + Gets the media-type formatter associated with this content instance. + The . + + + Gets the type of object managed by this instance. + The object type. + + + Asynchronously serializes the object's content to the given stream. + The task object representing the asynchronous operation. + The stream to write to. + The associated . + + + Computes the length of the stream if possible. + true if the length has been computed; otherwise, false. + Receives the computed length of the stream. + + + Gets or sets the value of the content. + The content value. + + + Generic form of . + The type of object this class will contain. + + + Initializes a new instance of the class. + The value of the object this instance will contain. + The formatter to use when serializing the value. + + + Initializes a new instance of the <see cref="T:System.Net.Http.ObjectContent`1" /> class. + The value of the object this instance will contain. + The formatter to use when serializing the value. + The authoritative value of the Content-Type header. Can be null, in which case the default content type of the formatter will be used. + + + Initializes a new instance of the class. + The value of the object this instance will contain. + The formatter to use when serializing the value. + The authoritative value of the Content-Type header. + + + Enables scenarios where a data producer wants to write directly (either synchronously or asynchronously) using a stream. + + + Initializes a new instance of the class. + An action that is called when an output stream is available, allowing the action to write to it directly. + + + Initializes a new instance of the class. + An action that is called when an output stream is available, allowing the action to write to it directly. + The media type. + + + Initializes a new instance of the class. + An action that is called when an output stream is available, allowing the action to write to it directly. + The media type. + + + Asynchronously serializes the push content into stream. + The serialized push content. + The stream where the push content will be serialized. + The context. + + + Determines whether the stream content has a valid length in bytes. + true if length is a valid length; otherwise, false. + The length in bytes of the stream content. + + + Contains extension methods to allow strongly typed objects to be read from the query component of instances. + + + Parses the query portion of the specified URI. + A that contains the query parameters. + The URI to parse. + + + Reads HTML form URL encoded data provided in the URI query string as an object of a specified type. + true if the query component of the URI can be read as the specified type; otherwise, false. + The URI to read. + The type of object to read. + When this method returns, contains an object that is initialized from the query component of the URI. This parameter is treated as uninitialized. + + + Reads HTML form URL encoded data provided in the URI query string as an object of a specified type. + true if the query component of the URI can be read as the specified type; otherwise, false. + The URI to read. + When this method returns, contains an object that is initialized from the query component of the URI. This parameter is treated as uninitialized. + The type of object to read. + + + Reads HTML form URL encoded data provided in the query component as a object. + true if the query component can be read as ; otherwise false. + The instance from which to read. + An object to be initialized with this instance or null if the conversion cannot be performed. + + + Represents a helper class to allow a synchronous formatter on top of the asynchronous formatter infrastructure. + + + Initializes a new instance of the class. + + + Gets or sets the suggested size of buffer to use with streams in bytes. + The suggested size of buffer to use with streams in bytes. + + + Reads synchronously from the buffered stream. + An object of the given . + The type of the object to deserialize. + The stream from which to read + The , if available. Can be null. + The to log events to. + + + Reads asynchronously from the buffered stream. + A task object representing the asynchronous operation. + The type of the object to deserialize. + The stream from which to read. + The , if available. Can be null. + The to log events to. + + + Writes synchronously to the buffered stream. + The type of the object to serialize. + The object value to write. Can be null. + The stream to which to write. + The , if available. Can be null. + + + Writes asynchronously to the buffered stream. + A task object representing the asynchronous operation. + The type of the object to serialize. + The object value to write. It may be null. + The stream to which to write. + The , if available. Can be null. + The transport context. + + + Represents the result of content negotiation performed using <see cref="M:System.Net.Http.Formatting.IContentNegotiator.Negotiate(System.Type,System.Net.Http.HttpRequestMessage,System.Collections.Generic.IEnumerable{System.Net.Http.Formatting.MediaTypeFormatter})" /> + + + Create the content negotiation result object. + The formatter. + The preferred media type. Can be null. + + + The formatter chosen for serialization. + + + The media type that is associated with the formatter chosen for serialization. Can be null. + + + The default implementation of , which is used to select a for an or . + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + true to exclude formatters that match only on the object type; otherwise, false. + + + Determines how well each formatter matches an HTTP request. + Returns a collection of objects that represent all of the matches. + The type to be serialized. + The request. + The set of objects from which to choose. + + + If true, exclude formatters that match only on the object type; otherwise, false. + Returns a . + + + Matches a set of Accept header fields against the media types that a formatter supports. + Returns a object that indicates the quality of the match, or null if there is no match. + A list of Accept header values, sorted in descending order of q factor. You can create this list by calling the method. + The formatter to match against. + + + Matches a request against the objects in a media-type formatter. + Returns a object that indicates the quality of the match, or null if there is no match. + The requrst. + The media-type formatter. + + + Match the content type of a request against the media types that a formatter supports. + Returns a object that indicates the quality of the match, or null if there is no match. + The request. + The formatter to match against. + + + Selects the first supported media type of a formatter. + Returns a with set to , or null if there is no match. + The type to match. + The formatter to match against. + + + Performs content negotiating by selecting the most appropriate out of the passed in for the given that can serialize an object of the given . + The result of the negotiation containing the most appropriate instance, or null if there is no appropriate formatter. + The type to be serialized. + The request. + The set of objects from which to choose. + + + Determines the best character encoding for writing the response. + Returns the that is the best match. + The request. + The selected media formatter. + + + Selects the best match among the candidate matches found. + Returns the object that represents the best match. + The collection of matches. + + + Sorts Accept header values in descending order of q factor. + Returns the sorted list of MediaTypeWithQualityHeaderValue objects. + A collection of MediaTypeWithQualityHeaderValue objects, representing the Accept header values. + + + Sorts a list of Accept-Charset, Accept-Encoding, Accept-Language or related header values in descending order or q factor. + Returns the sorted list of StringWithQualityHeaderValue objects. + A collection of StringWithQualityHeaderValue objects, representing the header fields. + + + Evaluates whether a match is better than the current match. + Returns whichever object is a better match. + The current match. + The match to evaluate against the current match. + + + Helper class to serialize <see cref="T:System.Collections.Generic.IEnumerable`1" /> types by delegating them through a concrete implementation."/&gt;. + The interface implementing to proxy. + + + Initialize a DelegatingEnumerable. This constructor is necessary for to work. + + + Initialize a DelegatingEnumerable with an <see cref="T:System.Collections.Generic.IEnumerable`1" />. This is a helper class to proxy <see cref="T:System.Collections.Generic.IEnumerable`1" /> interfaces for . + The <see cref="T:System.Collections.Generic.IEnumerable`1" /> instance to get the enumerator from. + + + This method is not implemented but is required method for serialization to work. Do not use. + The item to add. Unused. + + + Get the enumerator of the associated <see cref="T:System.Collections.Generic.IEnumerable`1" />. + The enumerator of the <see cref="T:System.Collections.Generic.IEnumerable`1" /> source. + + + Get the enumerator of the associated <see cref="T:System.Collections.Generic.IEnumerable`1" />. + The enumerator of the <see cref="T:System.Collections.Generic.IEnumerable`1" /> source. + + + Represent the collection of form data. + + + Initializes a new instance of class. + The pairs. + + + Initializes a new instance of class. + The query. + + + Initializes a new instance of class. + The URI + + + Gets the collection of form data. + The collection of form data. + The key. + + + Gets an enumerable that iterates through the collection. + The enumerable that iterates through the collection. + + + Gets the values of the collection of form data. + The values of the collection of form data. + The key. + + + Reads the collection of form data as a collection of name value. + The collection of form data as a collection of name value. + + + Gets an enumerable that iterates through the collection. + The enumerable that iterates through the collection. + + + + class for handling HTML form URL-ended data, also known as application/x-www-form-urlencoded. + + + Initializes a new instance of the class. + + + Queries whether the can deserializean object of the specified type. + true if the can deserialize the type; otherwise, false. + The type to deserialize. + + + Queries whether the can serializean object of the specified type. + true if the can serialize the type; otherwise, false. + The type to serialize. + + + Gets the default media type for HTML form-URL-encoded data, which is application/x-www-form-urlencoded. + The default media type for HTML form-URL-encoded data + + + Gets or sets the maximum depth allowed by this formatter. + The maximum depth. + + + Gets or sets the size of the buffer when reading the incoming stream. + The buffer size. + + + Asynchronously deserializes an object of the specified type. + A whose result will be the object instance that has been read. + The type of object to deserialize. + The to read. + The for the content being read. + The to log events to. + + + Performs content negotiation. This is the process of selecting a response writer (formatter) in compliance with header values in the request. + + + Performs content negotiating by selecting the most appropriate out of the passed in formatters for the given request that can serialize an object of the given type. + The result of the negotiation containing the most appropriate instance, or null if there is no appropriate formatter. + The type to be serialized. + Request message, which contains the header values used to perform negotiation. + The set of objects from which to choose. + + + Specifies a callback interface that a formatter can use to log errors while reading. + + + Logs an error. + The path to the member for which the error is being logged. + The error message. + + + Logs an error. + The path to the member for which the error is being logged. + The error message to be logged. + + + Defines method that determines whether a given member is required on deserialization. + + + Determines whether a given member is required on deserialization. + true if should be treated as a required member; otherwise false. + The to be deserialized. + + + Represents the class to handle JSON. + + + Initializes a new instance of the class. + + + Determines whether this can read objects of the specified . + true if objects of this can be read, otherwise false. + The type of object that will be read. + + + Determines whether this can write objects of the specified . + true if objects of this can be written, otherwise false. + The type of object that will be written. + + + Creates a JsonSerializerSettings instance with the default settings used by the . + A newly created JsonSerializerSettings instance with the default settings used by the . + + + Gets the default media type for JSON, namely "application/json". + The for JSON. + + + Gets or sets a value indicating whether to indent elements when writing data. + true if to indent elements when writing data; otherwise, false. + + + Gets or sets the maximum depth allowed by this formatter. + The maximum depth allowed by this formatter. + + + Reads an object of the specified from the specified . This method is called during deserialization. + Returns . + The type of object to read. + Thestream from which to read + The content being written. + The to log events to. + + + Gets or sets the JsonSerializerSettings used to configure the JsonSerializer. + The JsonSerializerSettings used to configure the JsonSerializer. + + + Gets or sets a value indicating whether to use by default. + true if to by default; otherwise, false. + + + Writes an object of the specified to the specified . This method is called during serialization. + A that will write the value to the stream. + The type of object to write. + The object to write. + The to which to write. + The where the content is being written. + The . + + + Base class to handle serializing and deserializing strongly-typed objects using . + + + Initializes a new instance of the class. + + + Queries whether this can deserializean object of the specified type. + true if the can deserialize the type; otherwise, false. + The type to deserialize. + + + Queries whether this can serializean object of the specified type. + true if the can serialize the type; otherwise, false. + The type to serialize. + + + Gets the default value for the specified type. + The default value. + The type for which to get the default value. + + + Returns a specialized instance of the that can format a response for the given parameters. + Returns . + The type to format. + The request. + The media type. + + + Gets or sets the maximum number of keys stored in a T: . + The maximum number of keys. + + + Gets the mutable collection of objects that match HTTP requests to media types. + The collection. + + + Asynchronously deserializes an object of the specified type. + A whose result will be an object of the given type. + The type of the object to deserialize. + The to read. + The , if available. It may be null. + The to log events to. + Derived types need to support reading. + + + Gets or sets the instance used to determine required members. + The instance. + + + Determines the best character encoding for reading or writing an HTTP entity body, given a set of content headers. + The encoding that is the best match. + The content headers. + + + Sets the default headers for content that will be formatted using this formatter. This method is called from the constructor. This implementation sets the Content-Type header to the value of mediaType if it is not null. If it is null it sets the Content-Type to the default media type of this formatter. If the Content-Type does not specify a charset it will set it using this formatters configured . + The type of the object being serialized. See . + The content headers that should be configured. + The authoritative media type. Can be null. + + + Gets the mutable collection of character encodings supported bythis . + The collection of objects. + + + Gets the mutable collection of media types supported bythis . + The collection of objects. + + + Asynchronously writes an object of the specified type. + A that will perform the write. + The type of the object to write. + The object value to write. It may be null. + The to which to write. + The if available. It may be null. + The if available. It may be null. + Derived types need to support writing. + + + Represents a collection class that contains instances. + + + Initializes a new instance of the class with default values. + + + Initializes a new instance of the class with the given . + A collection of instances to place in the collection. + + + Searches a collection for a formatter that can read the .NET in the given . + The that can read the type, or null if no formatter found. + The .NET type to read. + The media type to match on. + + + Searches a collection for a formatter that can write the .NET in the given . + The that can write the type, or null if no formatter found. + The .NET type to write. + The media type to match on. + + + Gets the to use for application/x-www-form-urlencoded data. + The to use for application/x-www-form-urlencoded data. + + + Determines whether the is one of those loosely defined types that should be excluded from validation. + true if the type should be excluded; otherwise, false. + The .NET to validate. + + + Gets the to use for JSON. + The to use for JSON. + + + Gets the to use for XML. + The to use for XML. + + + Updates the given set of formatter of elements so that it associates the mediaType with s containing a specific query parameter and value. + The to receive the new item. + The name of the query parameter. + The value assigned to that query parameter. + The to associate with a containing a query string matching queryStringParameterName and queryStringParameterValue. + + + Updates the given set of formatter of elements so that it associates the mediaType with s containing a specific query parameter and value. + The to receive the new item. + The name of the query parameter. + The value assigned to that query parameter. + The media type to associate with a containing a query string matching queryStringParameterName and queryStringParameterValue. + + + Updates the given set of formatter of elements so that it associates the mediaType with a specific HTTP request header field with a specific value. + The to receive the new item. + Name of the header to match. + The header value to match. + The to use when matching headerValue. + if set to true then headerValue is considered a match if it matches a substring of the actual header value. + The to associate with a entry with a name matching headerName and a value matching headerValue. + + + Updates the given set of formatter of elements so that it associates the mediaType with a specific HTTP request header field with a specific value. + The to receive the new item. + Name of the header to match. + The header value to match. + The to use when matching headerValue. + if set to true then headerValue is considered a match if it matches a substring of the actual header value. + The media type to associate with a entry with a name matching headerName and a value matching headerValue. + + + This class describes how well a particular matches a request. + + + Initializes a new instance of the class. + The matching formatter. + The media type. Can be null in which case the media type application/octet-stream is used. + The quality of the match. Can be null in which case it is considered a full match with a value of 1.0 + The kind of match. + + + Gets the media type formatter. + + + Gets the matched media type. + + + Gets the quality of the match + + + Gets the kind of match that occurred. + + + Contains information about the degree to which a matches the explicit or implicit preferences found in an incoming request. + + + No match was found + + + Matched on a type, meaning that the formatter is able to serialize the type. + + + Matched on an explicit literal accept header, such as “application/json”. + + + Matched on an explicit subtype range in an Accept header, such as “application/*”. + + + Matched on an explicit “*/*” range in the Accept header. + + + Matched on after having applied the various s. + + + Matched on the media type of the entity body in the HTTP request message. + + + An abstract base class used to create an association between or instances that have certain characteristics and a specific . + + + Initializes a new instance of a with the given mediaType value. + The that is associated with or instances that have the given characteristics of the . + + + Initializes a new instance of a with the given mediaType value. + The that is associated with or instances that have the given characteristics of the . + + + Gets the that is associated with or instances that have the given characteristics of the . + + + Returns the quality of the match of the associated with request. + The quality of the match. It must be between 0.0 and 1.0. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match. + The to evaluate for the characteristics associated with the of the . + + + Class that provides s from query strings. + + + Initializes a new instance of the class. + The name of the query string parameter to match, if present. + The value of the query string parameter specified by queryStringParameterName. + The to use if the query parameter specified by queryStringParameterName is present and assigned the value specified by queryStringParameterValue. + + + Initializes a new instance of the class. + The name of the query string parameter to match, if present. + The value of the query string parameter specified by queryStringParameterName. + The media type to use if the query parameter specified by queryStringParameterName is present and assigned the value specified by queryStringParameterValue. + + + Gets the query string parameter name. + + + Gets the query string parameter value. + + + Returns a value indicating whether the current instance can return a from request. + If this instance can produce a from request it returns 1.0 otherwise 0.0. + The to check. + + + This class provides a mapping from an arbitrary HTTP request header field to a used to select instances for handling the entity body of an or . <remarks>This class only checks header fields associated with for a match. It does not check header fields associated with or instances.</remarks> + + + Initializes a new instance of the class. + Name of the header to match. + The header value to match. + The to use when matching headerValue. + if set to true then headerValue is considered a match if it matches a substring of the actual header value. + The to use if headerName and headerValue is considered a match. + + + Initializes a new instance of the class. + Name of the header to match. + The header value to match. + The value comparison to use when matching headerValue. + if set to true then headerValue is considered a match if it matches a substring of the actual header value. + The media type to use if headerName and headerValue is considered a match. + + + Gets the name of the header to match. + + + Gets the header value to match. + + + Gets the to use when matching . + + + Gets a value indicating whether is a matched as a substring of the actual header value. this instance is value substring. + truefalse + + + Returns a value indicating whether the current instance can return a from request. + The quality of the match. It must be between 0.0 and 1.0. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match. + The to check. + + + A that maps the X-Requested-With http header field set by AJAX XmlHttpRequest (XHR) to the media type application/json if no explicit Accept header fields are present in the request. + + + Initializes a new instance of class + + + Returns a value indicating whether the current instance can return a from request. + The quality of the match. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match and that the request was made using XmlHttpRequest without an Accept header. + The to check. + + + + class to handle Xml. + + + Initializes a new instance of the class. + + + Queries whether the can deserializean object of the specified type. + true if the can deserialize the type; otherwise, false. + The type to deserialize. + + + Queries whether the can serializean object of the specified type. + true if the can serialize the type; otherwise, false. + The type to serialize. + + + Gets the default media type for the XML formatter. + The default media type, which is “application/xml”. + + + Gets or sets a value indicating whether to indent elements when writing data. + true to indent elements; otherwise, false. + + + Gets and sets the maximum nested node depth. + The maximum nested node depth. + + + Called during deserialization to read an object of the specified type from the specified readStream. + A whose result will be the object instance that has been read. + The type of object to read. + The from which to read. + The for the content being read. + The to log events to. + + + Unregisters the serializer currently associated with the given type. + true if a serializer was previously registered for the type; otherwise, false. + The type of object whose serializer should be removed. + + + Registers an to read or write objects of a specified type. + The instance. + The type of object that will be serialized or deserialized with. + + + Registers an to read or write objects of a specified type. + The type of object that will be serialized or deserialized with. + The instance. + + + Registers an to read or write objects of a specified type. + The type of object that will be serialized or deserialized with. + The instance. + + + Registers an to read or write objects of a specified type. + The instance. + The type of object that will be serialized or deserialized with. + + + Gets or sets a value indicating whether the XML formatter uses the as the default serializer, instead of using the . + If true, the formatter uses the by default; otherwise, it uses the by default. + + + Called during serialization to write an object of the specified type to the specified writeStream. + A that will write the value to the stream. + The type of object to write. + The object to write. + The to which to write. + The for the content being written. + The . + + + Represents the event arguments for the HTTP progress. + + + Initializes a new instance of the class. + The percentage of the progress. + The user token. + The number of bytes transferred. + The total number of bytes transferred. + + + Gets the number of bytes transferred in the HTTP progress. + The number of bytes transferred in the HTTP progress. + + + Gets the total number of bytes transferred by the HTTP progress. + The total number of bytes transferred by the HTTP progress. + + + Generates progress notification for both request entities being uploaded and response entities being downloaded. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The inner message handler. + + + Occurs when event entities are being downloaded. + + + Occurs when event entities are being uploaded. + + + Raises the event that handles the request of the progress. + The request. + The event handler for the request. + + + Raises the event that handles the response of the progress. + The request. + The event handler for the request. + + + Sends the specified progress message to an HTTP server for delivery. + The sent progress message. + The request. + The cancellation token. + + + Provides value for the cookie header. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The value of the name. + The values. + + + Initializes a new instance of the class. + The value of the name. + The value. + + + Creates a shallow copy of the cookie value. + A shallow copy of the cookie value. + + + Gets a collection of cookies sent by the client. + A collection object representing the client’s cookie variables. + + + Gets or sets the domain to associate the cookie with. + The name of the domain to associate the cookie with. + + + Gets or sets the expiration date and time for the cookie. + The time of day (on the client) at which the cookie expires. + + + Gets or sets a value that specifies whether a cookie is accessible by client-side script. + true if the cookie has the HttpOnly attribute and cannot be accessed through a client-side script; otherwise, false. + + + Gets a shortcut to the cookie property. + The cookie value. + + + Gets or sets the maximum age permitted for a resource. + The maximum age permitted for a resource. + + + Gets or sets the virtual path to transmit with the current cookie. + The virtual path to transmit with the cookie. + + + Gets or sets a value indicating whether to transmit the cookie using Secure Sockets Layer (SSL)—that is, over HTTPS only. + true to transmit the cookie over an SSL connection (HTTPS); otherwise, false. + + + Returns a string that represents the current object. + A string that represents the current object. + + + Indicates a value whether the string representation will be converted. + true if the string representation will be converted; otherwise, false. + The input value. + The parsed value to convert. + + + Contains cookie name and its associated cookie state. + + + Initializes a new instance of the class. + The name of the cookie. + + + Initializes a new instance of the class. + The name of the cookie. + The collection of name-value pair for the cookie. + + + Initializes a new instance of the class. + The name of the cookie. + The value of the cookie. + + + Returns a new object that is a copy of the current instance. + A new object that is a copy of the current instance. + + + Gets or sets the cookie value with the specified cookie name, if the cookie data is structured. + The cookie value with the specified cookie name. + + + Gets or sets the name of the cookie. + The name of the cookie. + + + Returns the string representation the current object. + The string representation the current object. + + + Gets or sets the cookie value, if cookie data is a simple string value. + The value of the cookie. + + + Gets or sets the collection of name-value pair, if the cookie data is structured. + The collection of name-value pair for the cookie. + + + \ No newline at end of file diff --git a/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/Microsoft.AspNet.WebApi.Core.4.0.20710.0.nupkg b/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/Microsoft.AspNet.WebApi.Core.4.0.20710.0.nupkg new file mode 100644 index 000000000..5a52cdd38 Binary files /dev/null and b/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/Microsoft.AspNet.WebApi.Core.4.0.20710.0.nupkg differ diff --git a/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/content/web.config.transform b/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/content/web.config.transform new file mode 100644 index 000000000..d68d922c9 --- /dev/null +++ b/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/content/web.config.transform @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/lib/net40/System.Web.Http.dll b/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/lib/net40/System.Web.Http.dll new file mode 100644 index 000000000..206c33176 Binary files /dev/null and b/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/lib/net40/System.Web.Http.dll differ diff --git a/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/lib/net40/System.Web.Http.xml b/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/lib/net40/System.Web.Http.xml new file mode 100644 index 000000000..ade4a8cf6 --- /dev/null +++ b/packages/Microsoft.AspNet.WebApi.Core.4.0.20710.0/lib/net40/System.Web.Http.xml @@ -0,0 +1,4679 @@ + + + + System.Web.Http + + + + Creates an that represents an exception. + The request must be associated with an instance.An whose content is a serialized representation of an instance. + The HTTP request. + The status code of the response. + The exception. + + + Creates an that represents an error message. + The request must be associated with an instance.An whose content is a serialized representation of an instance. + The HTTP request. + The status code of the response. + The error message. + + + Creates an that represents an exception with an error message. + The request must be associated with an instance.An whose content is a serialized representation of an instance. + The HTTP request. + The status code of the response. + The error message. + The exception. + + + Creates an that represents an error. + The request must be associated with an instance.An whose content is a serialized representation of an instance. + The HTTP request. + The status code of the response. + The HTTP error. + + + Creates an that represents an error in the model state. + The request must be associated with an instance.An whose content is a serialized representation of an instance. + The HTTP request. + The status code of the response. + The model state. + + + Creates an wired up to the associated . + An initialized wired up to the associated . + The HTTP request message which led to this response message. + The HTTP response status code. + The content of the HTTP response message. + The type of the HTTP response message. + + + Creates an wired up to the associated . + An initialized wired up to the associated . + The HTTP request message which led to this response message. + The HTTP response status code. + The content of the HTTP response message. + The media type formatter. + The type of the HTTP response message. + + + Creates an wired up to the associated . + An initialized wired up to the associated . + The HTTP request message which led to this response message. + The HTTP response status code. + The content of the HTTP response message. + The media type formatter. + The media type header value. + The type of the HTTP response message. + + + Creates an wired up to the associated . + An initialized wired up to the associated . + The HTTP request message which led to this response message. + The HTTP response status code. + The content of the HTTP response message. + The media type formatter. + The media type. + The type of the HTTP response message. + + + Creates an wired up to the associated . + An initialized wired up to the associated . + The HTTP request message which led to this response message. + The HTTP response status code. + The content of the HTTP response message. + The media type header value. + The type of the HTTP response message. + + + Creates an wired up to the associated . + An initialized wired up to the associated . + The HTTP request message which led to this response message. + The HTTP response status code. + The content of the HTTP response message. + The media type. + The type of the HTTP response message. + + + Creates an wired up to the associated . + An initialized wired up to the associated . + The HTTP request message which led to this response message. + The HTTP response status code. + The content of the HTTP response message. + The HTTP configuration which contains the dependency resolver used to resolve services. + The type of the HTTP response message. + + + Disposes of all tracked resources associated with the which were added via the method. + The HTTP request. + + + Gets the current X.509 certificate from the given HTTP request. + The current , or null if a certificate is not available. + The HTTP request. + + + Retrieves the for the given request. + The for the given request. + The HTTP request. + + + Retrieves the which has been assigned as the correlation ID associated with the given . The value will be created and set the first time this method is called. + The object that represents the correlation ID associated with the request. + The HTTP request. + + + Retrieves the for the given request or null if not available. + The for the given request or null if not available. + The HTTP request. + + + Gets the parsed query string as a collection of key-value pairs. + The query string as a collection of key-value pairs. + The HTTP request. + + + Retrieves the for the given request or null if not available. + The for the given request or null if not available. + The HTTP request. + + + Retrieves the for the given request or null if not available. + The for the given request or null if not available. + The HTTP request. + + + Gets a instance for an HTTP request. + A instance that is initialized for the specified HTTP request. + The HTTP request. + + + Adds the given to a list of resources that will be disposed by a host once the is disposed. + The HTTP request controlling the lifecycle of . + The resource to dispose when is being disposed. + + + Represents the message extensions for the HTTP response from an ASP.NET operation. + + + Attempts to retrieve the value of the content for the . + The result of the retrieval of value of the content. + The response of the operation. + The value of the content. + The type of the value to retrieve. + + + Represents extensions for adding items to a . + + + Updates the given formatter's set of elements so that it associates the mediaType with s ending with the given uriPathExtension. + The to receive the new item. + The string of the path extension. + The to associate with s ending with uriPathExtension. + + + Updates the given formatter's set of elements so that it associates the mediaType with s ending with the given uriPathExtension. + The to receive the new item. + The string of the path extension. + The string media type to associate with s ending with uriPathExtension. + + + Provides s from path extensions appearing in a . + + + Initializes a new instance of the class. + The extension corresponding to mediaType. This value should not include a dot or wildcards. + The that will be returned if uriPathExtension is matched. + + + Initializes a new instance of the class. + The extension corresponding to mediaType. This value should not include a dot or wildcards. + The media type that will be returned if uriPathExtension is matched. + + + Returns a value indicating whether this instance can provide a for the of request. + If this instance can match a file extension in request it returns 1.0 otherwise 0.0. + The to check. + + + Gets the path extension. + The path extension. + + + The path extension key. + + + Represents an attribute that specifies which HTTP methods an action method will respond to. + + + Initializes a new instance of the class by using a list of HTTP methods that the action method will respond to. + The HTTP methods that the action method will respond to. + + + Gets or sets the list of HTTP methods that the action method will respond to. + Gets or sets the list of HTTP methods that the action method will respond to. + + + Represents an attribute that is used for the name of an action. + + + Initializes a new instance of the class. + The name of the action. + + + Gets or sets the name of the action. + The name of the action. + + + Specifies that actions and controllers are skipped by during authorization. + + + Initializes a new instance of the class. + + + Defines properties and methods for API controller. + + + Initializes a new instance of the class. + + + Gets or sets the of the current . + The of the current . + + + Gets the of the current . + The of the current . + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Releases the unmanaged resources that are used by the object and, optionally, releases the managed resources. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Executes asynchronously a single HTTP operation. + The newly started task. + The controller context for a single HTTP operation. + The cancellation token assigned for the HTTP operation. + + + Initializes the instance with the specified . + The object that is used for the initialization. + + + Gets the model state after the model binding process. + The model state after the model binding process. + + + Gets or sets the of the current . + The of the current . + + + Returns an instance of a , which is used to generate URLs to other APIs. + A object which is used to generate URLs to other APIs. + + + Returns the current principal associated with this request. + The current principal associated with this request. + + + Specifies the authorization filter that verifies the request's . + + + Initializes a new instance of the class. + + + Processes requests that fail authorization. + The context. + + + Indicates whether the specified control is authorized. + true if the control is authorized; otherwise, false. + The context. + + + Calls when an action is being authorized. + The context. + The context parameter is null. + + + Gets or sets the authorized roles. + The roles string. + + + Gets a unique identifier for this attribute. + A unique identifier for this attribute. + + + Gets or sets the authorized users. + The users string. + + + An attribute that specifies that an action parameter comes only from the entity body of the incoming . + + + Initializes a new instance of the class. + + + Gets a parameter binding. + The parameter binding. + The parameter description. + + + An attribute that specifies that an action parameter comes from the URI of the incoming . + + + Initializes a new instance of the class. + + + Gets the value provider factories for the model binder. + A collection of objects. + The configuration. + + + Represents attributes that specifies that HTTP binding should exclude a property. + + + Initializes a new instance of the class. + + + Represents the required attribute for http binding. + + + Initializes a new instance of the class. + + + Configuration of instances. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with an HTTP route collection. + The HTTP route collection to associate with this instance. + + + Gets or sets the dependency resolver associated with thisinstance. + The dependency resolver. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Releases the unmanaged resources that are used by the object and, optionally, releases the managed resources. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the list of filters that apply to all requests served using this instance. + The list of filters. + + + Gets the media-type formatters for this instance. + A collection of objects. + + + Gets or sets a value indicating whether error details should be included in error messages. + The value that indicates that error detail policy. + + + Gets or sets the action that will perform final initialization of the instance before it is used to process requests. + The action that will perform final initialization of the instance. + + + Gets an ordered list of instances to be invoked as an travels up the stack and an travels down in stack in return. + The message handler collection. + + + The collection of rules for how parameters should be bound. + A collection of functions that can produce a parameter binding for a given parameter. + + + Gets the properties associated with this instance. + The that contains the properties. + + + Gets the associated with this instance. + The . + + + Gets the container of default services associated with this instance. + The that contains the default services for this instance. + + + Gets the root virtual path. + The root virtual path. + + + Contains extension methods for the class. + + + Register that the given parameter type on an Action is to be bound using the model binder. + configuration to be updated. + parameter type that binder is applied to + a model binder + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + + + Gets a collection of HTTP methods. + A collection of HTTP methods. + + + Defines a serializable container for arbitrary error information. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class for exception. + The exception to use for error information. + true to include the exception information in the error; false otherwise + + + Initializes a new instance of the class containing error message message. + The error message to associate with this instance. + + + Initializes a new instance of the class for modelState. + The invalid model state to use for error information. + true to include exception messages in the error; false otherwise + + + The error message associated with this instance. + + + This method is reserved and should not be used. + Always returns null. + + + Generates an instance from its XML representation. + The stream from which the object is deserialized. + + + Converts an instance into its XML representation. + The stream to which the object is serialized. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + + + Gets the collection of HTTP methods. + A collection of HTTP methods. + + + Represents an HTTP head attribute. + + + Initializes a new instance of the class. + + + Gets the collection of HTTP methods. + A collection of HTTP methods. + + + Represents an attribute that is used to restrict an HTTP method so that the method handles only HTTP OPTIONS requests. + + + Initializes a new instance of the class. + + + Gets the collection of methods supported by HTTP OPTIONS requests. + The collection of methods supported by HTTP OPTIONS requests. + + + Represents a HTTP patch attribute. + + + Initializes a new instance of the class. + + + Gets a collection of HTTP methods. + A collection of HTTP methods. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + + + Gets a collection of HTTP methods. + A collection of HTTP methods. + + + Represents an attribute that is used to restrict an HTTP method so that the method handles only HTTP PUT requests. + + + Initializes a new instance of the class. + + + Gets the read-only collection of HTTP PUT methods. + The read-only collection of HTTP PUT methods. + + + An exception that allows for a given to be returned to the client. + + + Initializes a new instance of the class. + The HTTP response to return to the client. + + + Initializes a new instance of the class. + The status code of the response. + + + Gets the HTTP response to return to the client. + The that represents the HTTP response. + + + A collection of instances. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The virtual path root. + + + Adds an instance to the collection. + The name of the route. + The instance to add to the collection. + + + Removes all items from the collection. + + + Determines whether the collection contains a specific . + true if the is found in the collection; otherwise, false. + The object to locate in the collection. + + + Determines whether the collection contains an element with the specified key. + true if the collection contains an element with the key; otherwise, false. + The key to locate in the collection. + + + Copies the instances of the collection to an array, starting at a particular array index. + The array that is the destination of the elements copied from the collection. + The zero-based index in at which copying begins. + + + Copies the route names and instances of the collection to an array, starting at a particular array index. + The array that is the destination of the elements copied from the collection. + The zero-based index in at which copying begins. + + + Gets the number of items in the collection. + The number of items in the collection. + + + Creates an instance. + The new instance. + The route template. + An object that contains the default route parameters. + An object that contains the route constraints. + The route data tokens. + + + Creates an instance. + The new instance. + The route template. + An object that contains the default route parameters. + An object that contains the route constraints. + The route data tokens. + The message handler for the route. + + + Creates an instance. + The new instance. + The route template. + An object that contains the default route parameters. + An object that contains the route constraints. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Releases the unmanaged resources that are used by the object and, optionally, releases the managed resources. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Returns an enumerator that iterates through the collection. + An that can be used to iterate through the collection. + + + Gets the route data for a specified HTTP request. + An instance that represents the route data. + The HTTP request. + + + Gets a virtual path. + An instance that represents the virtual path. + The HTTP request. + The route name. + The route values. + + + Inserts an instance into the collection. + The zero-based index at which should be inserted. + The route name. + The to insert. The value cannot be null. + + + Gets a value indicating whether the collection is read-only. + true if the collection is read-only; otherwise, false. + + + Gets or sets the element at the specified index. + The at the specified index. + The zero-based index of the element to get or set. + + + Gets or sets the element with the specified route name. + The at the specified index. + The route name. + + + Called internally to get the enumerator for the collection. + An that can be used to iterate through the collection. + + + Removes an instance from the collection. + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the collection. + The name of the route to remove. + + + Adds an item to the collection. + The object to add to the collection. + + + Removes the first occurrence of a specific object from the collection. + true if was successfully removed from the collection; otherwise, false. This method also returns false if is not found in the original collection. + The object to remove from the collection. + + + Returns an enumerator that iterates through the collection. + An object that can be used to iterate through the collection. + + + Gets the with the specified route name. + true if the collection contains an element with the specified name; otherwise, false. + The route name. + When this method returns, contains the instance, if the route name is found; otherwise, null. This parameter is passed uninitialized. + + + Gets the virtual path root. + The virtual path root. + + + Extension methods for + + + Maps the specified route template. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The route template for the route. + + + Maps the specified route template and sets default route values. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The route template for the route. + An object that contains default route values. + + + Maps the specified route template and sets default route values and constraints. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The route template for the route. + An object that contains default route values. + A set of expressions that constrain the values for routeTemplate. + + + Maps the specified route template and sets default route values, constraints, and end-point message handler. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The route template for the route. + An object that contains default route values. + A set of expressions that constrain the values for routeTemplate. + The handler to which the request will be dispatched. + + + Defines an implementation of an which dispatches an incoming and creates an as a result. + + + Initializes a new instance of the class, using the default configuration and dispatcher. + + + Initializes a new instance of the class with a specified dispatcher. + The HTTP dispatcher that will handle incoming requests. + + + Initializes a new instance of the class with a specified configuration. + The used to configure this instance. + + + Initializes a new instance of the class with a specified configuration and dispatcher. + The used to configure this instance. + The HTTP dispatcher that will handle incoming requests. + + + Gets the used to configure this instance. + The used to configure this instance. + + + Gets the HTTP dispatcher that handles incoming requests. + The HTTP dispatcher that handles incoming requests. + + + Releases the unmanaged resources that are used by the object and, optionally, releases the managed resources. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Prepares the server for operation. + + + Dispatches an incoming . + A task representing the asynchronous operation. + The request to dispatch. + The token to monitor for cancellation requests. + + + Specifies whether error details, such as exception messages and stack traces, should be included in error messages. + + + Use the default behavior for the host environment. For ASP.NET hosting, use the value from the customErrors element in the Web.config file. For self-hosting, use the value . + + + Only include error details when responding to a local request. + + + Always include error details. + + + Never include error details. + + + Represents an attribute that is used to indicate that a controller method is not an action method. + + + Initializes a new instance of the class. + + + Attribute on a parameter or type that produces a . If the attribute is on a type-declaration, then it's as if that attribute is present on all action parameters of that type. + + + Initializes a new instance of the class. + + + Gets the parameter binding. + The parameter binding. + The parameter description. + + + Enables a controller action to support OData query parameters. + + + Initializes a new instance of the class. + + + Applies the result limit to the query results. + The query results after the result limit is applied. + The context for the action. + The original query results. + + + Called by the Web API framework after the action method executes. + The filter context. + + + Called by the Web API framework before the action method executes. + The filter context. + + + The maximum number of results that should be returned from this query regardless of query-specified limits. + The maximum number of results that should be returned. A value of zero indicates no limit. + + + The to use. Derived classes can use this to have a per-attribute query builder instead of the one on + + + The class can be used to indicate properties about a route parameter (the literals and placeholders located within segments of a ). It can for example be used to indicate that a route parameter is optional. + + + An optional parameter. + + + Returns a that represents this instance. + A that represents this instance. + + + Provides type-safe accessors for services obtained from a object. + + + Gets the service. + Returns an instance. + The services container. + + + Gets the service. + Returns aninstance. + The services container. + + + Gets the service. + Returns aninstance. + The services container. + + + Gets the service. + Returns an instance. + The services container. + + + Gets the service. + Returns aninstance. + The services container. + + + Gets the service. + Returns aninstance. + The services container. + + + Gets the service. + Returns aninstance. + The services container. + + + Gets the service. + Returns aninstance. + The services container. + + + Gets the collection. + Returns a collection of objects. + The services container. + + + Gets the service. + Returns an instance. + The services container. + + + Gets the service. + Returns an instance, or null if no instance was registered. + The services container. + + + Gets the service. + Returns aninstance. + The services container. + + + Gets the service. + Returns an instance. + The services container. + + + Gets the collection. + Returns a collection of objects. + The services container. + + + Gets the service. + Returns an instance. + The services container. + + + Gets the collection. + Returns a collection ofobjects. + The services container. + + + Gets the service. + Returns aninstance. + The services container. + + + Gets the service. + Returns aninstance. + The services container. + + + Gets the service. + Returns aninstance. + The services container. + + + Gets the collection. + Returns a colleciton ofobjects. + The services container. + + + Invokes the action methods of a controller. + + + Initializes a new instance of the class. + + + Asynchronously invokes the specified action by using the specified controller context. + The invoked action. + The controller context. + The cancellation token. + + + Represents a reflection based action selector. + + + Initializes a new instance of the class. + + + Gets the action mappings for the . + The action mappings. + The information that describes a controller. + + + Selects an action for the . + The selected action. + The controller context. + + + Represents a container for services that can be specific to a controller. This shadows the services from its parent . A controller can either set a service here, or fall through to the more global set of services. + + + Initializes a new instance of the class. + The parent services container. + + + Removes a single-instance service from the default services. + The type of service. + + + Gets a service of the specified type. + The first instance of the service, or null if the service is not found. + The type of service. + + + Gets the list of service objects for a given service type, and validates the service type. + The list of service objects of the specified type. + The service type. + + + Gets the list of service objects for a given service type. + The list of service objects of the specified type, or an empty list if the service is not found. + The type of service. + + + Queries whether a service type is single-instance. + true if the service type has at most one instance, or false if the service type supports multiple instances. + The service type. + + + Replaces a single-instance service object. + The service type. + The service object that replaces the previous instance. + + + Describes *how* the binding will happen and does not actually bind. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The back pointer to the action this binding is for. + The synchronous bindings for each parameter. + + + Gets or sets the back pointer to the action this binding is for. + The back pointer to the action this binding is for. + + + Executes asynchronously the binding for the given request context. + Task that is signaled when the binding is complete. + The action context for the binding. This contains the parameter dictionary that will get populated. + The cancellation token for cancelling the binding operation. Or a binder can also bind a parameter to this. + + + Gets or sets the synchronous bindings for each parameter. + The synchronous bindings for each parameter. + + + Contains information for the executing action. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The controller context. + The action descriptor. + + + Gets a list of action arguments. + A list of action arguments. + + + Gets or sets the action descriptor for the action context. + The action descriptor. + + + Gets or sets the controller context. + The controller context. + + + Gets the model state dictionary for the context. + The model state dictionary. + + + Gets the request message for the action context. + The request message for the action context. + + + Gets or sets the response message for the action context. + The response message for the action context. + + + Contains extension methods for . + + + Binds the model to a value by using the specified controller context and binding context. + true if the bind succeeded; otherwise, false. + The execution context. + The binding context. + + + Binds the model to a value by using the specified controller context, binding context, and model binders. + true if the bind succeeded; otherwise, false. + The execution context. + The binding context. + The collection of model binders. + + + Retrieves the instance for a given . + An instance. + The context. + + + Retrieves the collection of registered instances. + A collection of instances. + The context. + + + Retrieves the collection of registered instances. + A collection of registered instances. + The context. + The metadata. + + + Binds the model to the property by using the specified execution context and binding context. + true if the bind succeeded; otherwise, false. + The execution context. + The parent binding context. + The name of the property to bind with the model. + The metadata provider for the model. + When this method returns, contains the bound model. + The type of the model. + + + Provides information about the action methods. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with specified information that describes the controller of the action. + The information that describes the controller of the action. + + + Gets or sets the binding that describes the action. + The binding that describes the action. + + + Gets the name of the action. + The name of the action. + + + Gets or sets the action configuration. + The action configuration. + + + Gets the information that describes the controller of the action. + The information that describes the controller of the action. + + + Executes the described action and returns a that once completed will contain the return value of the action. + A that once completed will contain the return value of the action. + The controller context. + A list of arguments. + The cancellation token. + + + Returns the custom attributes associated with the action descriptor. + The custom attributes associated with the action descriptor. + The action descriptor. + + + Retrieves the filters for the given configuration and action. + The filters for the given configuration and action. + + + Retrieves the filters for the action descriptor. + The filters for the action descriptor. + + + Retrieves the parameters for the action descriptor. + The parameters for the action descriptor. + + + Gets the properties associated with this instance. + The properties associated with this instance. + + + Gets the converter for correctly transforming the result of calling " into an instance of . + The action result converter. + + + Gets the return type of the descriptor. + The return type of the descriptor. + + + Gets the collection of supported HTTP methods for the descriptor. + The collection of supported HTTP methods for the descriptor. + + + Contains information for a single HTTP operation. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The configuration. + The route data. + The request. + + + Gets or sets the configuration. + The configuration. + + + Gets or sets the HTTP controller. + The HTTP controller. + + + Gets or sets the controller descriptor. + The controller descriptor. + + + Gets or sets the request. + The request. + + + Gets or sets the route data. + The route data. + + + Represents information that describes the HTTP controller. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The configuration. + The controller name. + The controller type. + + + Gets or sets the configurations associated with the controller. + The configurations associated with the controller. + + + Gets or sets the name of the controller. + The name of the controller. + + + Gets or sets the type of the controller. + The type of the controller. + + + Creates a controller instance for the given . + The created controller instance. + The request message + + + Retrieves a collection of custom attributes of the controller. + A collection of custom attributes + The type of the object. + + + Returns a collection of filters associated with the controller. + A collection of filters associated with the controller. + + + Gets the properties associated with this instance. + The properties associated with this instance. + + + Contains settings for an HTTP controller. + + + Initializes a new instance of the class. + A configuration object that is used to initialize the instance. + + + Gets the collection of instances for the controller. + The collection of instances. + + + Gets the collection of parameter bindingfunctions for for the controller. + The collection of parameter binding functions. + + + Gets the collection of service instances for the controller. + The collection of service instances. + + + Describes how a parameter is bound. The binding should be static (based purely on the descriptor) and can be shared across requests. + + + Initializes a new instance of the class. + An that describes the parameters. + + + Gets the that was used to initialize this instance. + The instance. + + + If the binding is invalid, gets an error message that describes the binding error. + An error message. If the binding was successful, the value is null. + + + Asynchronously executes the binding for the given request. + A task object representing the asynchronous operation. + Metadata provider to use for validation. + The action context for the binding. The action context contains the parameter dictionary that will get populated with the parameter. + Cancellation token for cancelling the binding operation. + + + Gets the parameter value from argument dictionary of the action context. + The value for this parameter in the given action context, or null if the parameter has not yet been set. + The action context. + + + Gets a value that indicates whether the binding was successful. + true if the binding was successful; otherwise, false. + + + Sets the result of this parameter binding in the argument dictionary of the action context. + The action context. + The parameter value. + + + Returns a value indicating whether this instance will read the entity body of the HTTP message. + true if this will read the entity body; otherwise, false. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The action descriptor. + + + Gets or sets the action descriptor. + The action descriptor. + + + Gets or sets the for the . + The for the . + + + Gets the default value of the parameter. + The default value of the parameter. + + + Retrieves a collection of the custom attributes from the parameter. + A collection of the custom attributes from the parameter. + The type of the custom attributes. + + + Gets a value that indicates whether the parameter is optional. + true if the parameter is optional; otherwise, false.. + + + Gets or sets the parameter binding attribute. + The parameter binding attribute. + + + Gets the name of the parameter. + The name of the parameter. + + + Gets the type of the parameter. + The type of the parameter. + + + Gets the prefix of this parameter. + The prefix of this parameter. + + + Gets the properties of this parameter. + The properties of this parameter. + + + A contract for a conversion routine that can take the result of an action returned from <see cref="M:System.Web.Http.Controllers.HttpActionDescriptor.ExecuteAsync(System.Web.Http.Controllers.HttpControllerContext,System.Collections.Generic.IDictionary{System.String,System.Object})" /> and convert it to an instance of . + + + Converts the specified object to another object. + The converted object. + The controller context. + The action result. + + + No content here will be updated; please do not add material here. + + + Gets the + A object. + The action descriptor. + + + If a controller is decorated with an attribute with this interface, then it gets invoked to initialize the controller settings. + + + Callback invoked to set per-controller overrides for this controllerDescriptor. + The controller settings to initialize. + The controller descriptor. Note that the can be associated with the derived controller type given that is inherited. + + + Contains method that is used to invoke HTTP operation. + + + Executes asynchronously the HTTP operation. + The newly started task. + The execution context. + The cancellation token assigned for the HTTP operation. + + + Contains the logic for selecting an action method. + + + Returns a map, keyed by action string, of all that the selector can select. This is primarily called by to discover all the possible actions in the controller. + A map of that the selector can select, or null if the selector does not have a well-defined mapping of . + The controller descriptor. + + + Selects the action for the controller. + The action for the controller. + The context of the controller. + + + No content here will be updated; please do not add material here. + + + Executes the controller for synchronization. + The controller. + The current context for a test controller. + The notification that cancels the operation. + + + Defines extension methods for . + + + Binds parameter that results as an error. + The HTTP parameter binding object. + The parameter descriptor that describes the parameter to bind. + The error message that describes the reason for fail bind. + + + Bind the parameter as if it had the given attribute on the declaration. + The HTTP parameter binding object. + The parameter to provide binding for. + The attribute that describes the binding. + + + Binds parameter by parsing the HTTP body content. + The HTTP parameter binding object. + The parameter descriptor that describes the parameter to bind. + + + Binds parameter by parsing the HTTP body content. + The HTTP parameter binding object. + The parameter descriptor that describes the parameter to bind. + The list of formatters which provides selection of an appropriate formatter for serializing the parameter into object. + + + Binds parameter by parsing the HTTP body content. + The HTTP parameter binding object. + The parameter descriptor that describes the parameter to bind. + The list of formatters which provides selection of an appropriate formatter for serializing the parameter into object. + The body model validator used to validate the parameter. + + + Binds parameter by parsing the HTTP body content. + The HTTP parameter binding object. + The parameter descriptor that describes the parameter to bind. + The list of formatters which provides selection of an appropriate formatter for serializing the parameter into object. + + + Binds parameter by parsing the query string. + The HTTP parameter binding object. + The parameter descriptor that describes the parameter to bind. + + + Binds parameter by parsing the query string. + The HTTP parameter binding object. + The parameter descriptor that describes the parameter to bind. + The value provider factories which provide query string parameter data. + + + Binds parameter by parsing the query string. + The HTTP parameter binding object. + The parameter descriptor that describes the parameter to bind. + The model binder used to assemble the parameter into an object. + + + Binds parameter by parsing the query string. + The HTTP parameter binding object. + The parameter descriptor that describes the parameter to bind. + The model binder used to assemble the parameter into an object. + The value provider factories which provide query string parameter data. + + + Binds parameter by parsing the query string. + The HTTP parameter binding object. + The parameter descriptor that describes the parameter to bind. + The value provider factories which provide query string parameter data. + + + Represents a reflected synchronous or asynchronous action method. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified descriptor and method details. + The controller descriptor. + The action-method information. + + + Gets the name of the action. + The name of the action. + + + Executes the described action and returns a that once completed will contain the return value of the action. + A that once completed will contain the return value of the action. + The context. + The arguments. + A cancellation token to cancel the action. + + + Returns an array of custom attributes defined for this member, identified by type. + An array of custom attributes or an empty array if no custom attributes exist. + The type of the custom attributes. + + + Retrieves information about action filters. + The filter information. + + + Retrieves the parameters of the action method. + The parameters of the action method. + + + Gets or sets the action-method information. + The action-method information. + + + Gets the return type of this method. + The return type of this method. + + + Gets or sets the supported http methods. + The supported http methods. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The action descriptor. + The parameter information. + + + Gets the default value for the parameter. + The default value for the parameter. + + + Retrieves a collection of the custom attributes from the parameter. + A collection of the custom attributes from the parameter. + The type of the custom attributes. + + + Gets a value that indicates whether the parameter is optional. + true if the parameter is optional; otherwise false. + + + Gets or sets the parameter information. + The parameter information. + + + Gets the name of the parameter. + The name of the parameter. + + + Gets the type of the parameter. + The type of the parameter. + + + Represents a converter for actions with a return type of . + + + Initializes a new instance of the class. + + + Converts a object to another object. + The converted object. + The controller context. + The action result. + + + An abstract class that provides a container for services used by ASP.NET Web API. + + + Initializes a new instance of the class. + + + Adds a service to the end of services list for the given service type. + The service type. + The service instance. + + + Adds the services of the specified collection to the end of the services list for the given service type. + The service type. + The services to add. + + + Removes all the service instances of the given service type. + The service type to clear from the services list. + + + Removes all instances of a multi-instance service type. + The service type to remove. + + + Removes a single-instance service type. + The service type to remove. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Searches for a service that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence. + The zero-based index of the first occurrence, if found; otherwise, -1. + The service type. + The delegate that defines the conditions of the element to search for. + + + Gets a service instance of a specified type. + The service type. + + + Gets a mutable list of service instances of a specified type. + A mutable list of service instances. + The service type. + + + Gets a collection of service instanes of a specified type. + A collection of service instances. + The service type. + + + Inserts a service into the collection at the specified index. + The service type. + The zero-based index at which the service should be inserted. If is passed, ensures the element is added to the end. + The service to insert. + + + Inserts the elements of the collection into the service list at the specified index. + The service type. + The zero-based index at which the new elements should be inserted. If is passed, ensures the elements are added to the end. + The collection of services to insert. + + + Determine whether the service type should be fetched with GetService or GetServices. + true iff the service is singular. + type of service to query + + + Removes the first occurrence of the given service from the service list for the given service type. + true if the item is successfully removed; otherwise, false. + The service type. + The service instance to remove. + + + Removes all the elements that match the conditions defined by the specified predicate. + The number of elements removed from the list. + The service type. + The delegate that defines the conditions of the elements to remove. + + + Removes the service at the specified index. + The service type. + The zero-based index of the service to remove. + + + Replaces all existing services for the given service type with the given service instance. This works for both singular and plural services. + The service type. + The service instance. + + + Replaces all instances of a multi-instance service with a new instance. + The type of service. + The service instance that will replace the current services of this type. + + + Replaces all existing services for the given service type with the given service instances. + The service type. + The service instances. + + + Replaces a single-instance service of a specified type. + The service type. + The service instance. + + + Removes the cached values for a single service type. + The service type. + + + A converter for creating responses from actions that return an arbitrary value. + The declared return type of an action. + + + Initializes a new instance of the class. + + + Converts the result of an action with arbitrary return type to an instance of . + The newly created object. + The action controller context. + The execution result. + + + Represents a converter for creating a response from actions that do not return a value. + + + Initializes a new instance of the class. + + + Converts the created response from actions that do not return a value. + The converted response. + The context of the controller. + The result of the action. + + + Represents a dependency injection container. + + + Starts a resolution scope. + The dependency scope. + + + Represents an interface for the range of the dependencies. + + + Retrieves a service from the scope. + The retrieved service. + The service to be retrieved. + + + Retrieves a collection of services from the scope. + The retrieved collection of services. + The collection of services to be retrieved. + + + Describes an API defined by relative URI path and HTTP method. + + + Initializes a new instance of the class. + + + Gets or sets the action descriptor that will handle the API. + The action descriptor. + + + Gets or sets the documentation of the API. + The documentation. + + + Gets or sets the HTTP method. + The HTTP method. + + + Gets the ID. The ID is unique within . + + + Gets the parameter descriptions. + + + Gets or sets the relative path. + The relative path. + + + Gets or sets the registered route for the API. + The route. + + + Gets the supported request body formatters. + + + Gets the supported response formatters. + + + Explores the URI space of the service based on routes, controllers and actions available in the system. + + + Initializes a new instance of the class. + The configuration. + + + Gets the API descriptions. The descriptions are initialized on the first access. + + + Gets or sets the documentation provider. The provider will be responsible for documenting the API. + The documentation provider. + + + Gets a collection of HttpMethods supported by the action. Called when initializing the . + A collection of HttpMethods supported by the action. + The route. + The action descriptor. + + + Determines whether the action should be considered for generation. Called when initializing the . + true if the action should be considered for generation, false otherwise. + The action variable value from the route. + The action descriptor. + The route. + + + Determines whether the controller should be considered for generation. Called when initializing the . + true if the controller should be considered for generation, false otherwise. + The controller variable value from the route. + The controller descriptor. + The route. + + + This attribute can be used on the controllers and actions to influence the behavior of . + + + Initializes a new instance of the class. + + + Gets or sets a value indicating whether to exclude the controller or action from the instances generated by . + true if the controller or action should be ignored; otherwise, false. + + + Describes a parameter on the API defined by relative URI path and HTTP method. + + + Initializes a new instance of the class. + + + Gets or sets the documentation. + The documentation. + + + Gets or sets the name. + The name. + + + Gets or sets the parameter descriptor. + The parameter descriptor. + + + Gets or sets the source of the parameter. It may come from the request URI, request body or other places. + The source. + + + Describes where the parameter come from. + + + The parameter come from Uri. + + + The parameter come from Body. + + + The location is unknown. + + + Defines the interface for getting a collection of . + + + Gets the API descriptions. + + + Defines the provider responsible for documenting the service. + + + Gets the documentation based on . + The documentation for the controller. + The action descriptor. + + + Gets the documentation based on . + The documentation for the controller. + The parameter descriptor. + + + Provides an implementation of with no external dependencies. + + + Initializes a new instance of the class. + + + Returns a list of assemblies available for the application. + A <see cref="T:System.Collections.ObjectModel.Collection`1" /> of assemblies. + + + Represents a default implementation of an . A different implementation can be registered via the . We optimize for the case where we have an instance per instance but can support cases where there are many instances for one as well. In the latter case the lookup is slightly slower because it goes through the dictionary. + + + Initializes a new instance of the class. + + + Creates the specified by using the given . + An instance of type . + The request message. + The controller descriptor. + The type of the controller. + + + Represents a default instance for choosing a given a . A different implementation can be registered via the . + + + Initializes a new instance of the class. + The configuration. + + + Specifies the suffix string in the controller name. + + + Returns a map, keyed by controller string, of all that the selector can select. + A map of all that the selector can select, or null if the selector does not have a well-defined mapping of . + + + Gets the name of the controller for the specified . + The name of the controller for the specified . + The HTTP request message. + + + Selects a for the given . + The instance for the given . + The HTTP request message. + + + Provides an implementation of with no external dependencies. + + + Initializes a new instance of the class. + + + Initializes a new instance using a predicate to filter controller types. + The predicate. + + + Returns a list of controllers available for the application. + An <see cref="T:System.Collections.Generic.ICollection`1" /> of controllers. + The assemblies resolver. + + + Gets a value whether the resolver type is a controller type predicate. + true if the resolver type is a controller type predicate; otherwise, false. + + + Dispatches an incoming to an implementation for processing. + + + Initializes a new instance of the class with the specified configuration. + The http configuration. + + + Gets the HTTP configuration. + The HTTP configuration. + + + Dispatches an incoming to an . + A representing the ongoing operation. + The request to dispatch + The cancellation token. + + + This class is the default endpoint message handler which examines the of the matched route, and chooses which message handler to call. If is null, then it delegates to . + + + Initializes a new instance of the class, using the provided and as the default handler. + The server configuration. + + + Initializes a new instance of the class, using the provided and . + The server configuration. + The default handler to use when the has no . + + + Sends an HTTP request as an asynchronous operation. + The task object representing the asynchronous operation. + The HTTP request message to send. + The cancellation token to cancel operation. + + + Provides an abstraction for managing the assemblies of an application. A different implementation can be registered via the . + + + Returns a list of assemblies available for the application. + An <see cref="T:System.Collections.Generic.ICollection`1" /> of assemblies. + + + Defines the methods that are required for an . + + + Creates an object. + An object. + The message request. + The HTTP controller descriptor. + The type of the controller. + + + Defines the methods that are required for an factory. + + + Returns a map, keyed by controller string, of all that the selector can select. This is primarily called by to discover all the possible controllers in the system. + A map of all that the selector can select, or null if the selector does not have a well-defined mapping of . + + + Selects a for the given . + An instance. + The request message. + + + Provides an abstraction for managing the controller types of an application. A different implementation can be registered via the DependencyResolver. + + + Returns a list of controllers available for the application. + An <see cref="T:System.Collections.Generic.ICollection`1" /> of controllers. + The resolver for failed assemblies. + + + Provides information about an action method, such as its name, controller, parameters, attributes, and filters. + + + Initializes a new instance of the class. + + + Returns the filters that are associated with this action method. + The filters that are associated with this action method. + The configuration. + The action descriptor. + + + Represents the base class for all action-filter attributes. + + + Initializes a new instance of the class. + + + Occurs after the action method is invoked. + The action executed context. + + + Occurs before the action method is invoked. + The action context. + + + Executes the filter action asynchronously. + The newly created task for this operation. + The action context. + The cancellation token assigned for this task. + The delegate function to continue after the action method is invoked. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + + + Calls when a process requests authorization. + The action context, which encapsulates information for using . + + + Executes the authorization filter during synchronization. + The authorization filter during synchronization. + The action context, which encapsulates information for using . + The cancellation token that cancels the operation. + A continuation of the operation. + + + Represents the configuration filter provider. + + + Initializes a new instance of the class. + + + Returns the filters that are associated with this configuration method. + The filters that are associated with this configuration method. + The configuration. + The action descriptor. + + + Represents the attributes for the exception filter. + + + Initializes a new instance of the class. + + + Raises the exception event. + The context for the action. + + + Asynchronously executes the exception filter. + The result of the execution. + The context for the action. + The cancellation context. + + + Represents the base class for action-filter attributes. + + + Initializes a new instance of the class. + + + Gets a value that indicates whether multiple filters are allowed. + true if multiple filters are allowed; otherwise, false. + + + Provides information about the available action filters. + + + Initializes a new instance of the class. + The instance of this class. + The scope of this class. + + + Gets or sets an instance of the . + A . + + + Gets or sets the scope . + The scope of the FilterInfo. + + + Defines values that specify the order in which filters run within the same filter type and filter order. + + + Specifies an action before Controller. + + + Specifies an order before Action and after Global. + + + Specifies an order after Controller. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The action context. + The exception. + + + Gets or sets the HTTP action context. + The HTTP action context. + + + Gets or sets the exception that was raised during the execution. + The exception that was raised during the execution. + + + Gets the object for the context. + The object for the context. + + + Gets or sets the for the context. + The for the context. + + + Represents a collection of HTTP filters. + + + Initializes a new instance of the class. + + + Adds an item at the end of the collection. + The item to add to the collection. + + + Removes all item in the collection. + + + Determines whether the collection contains the specified item. + true if the collection contains the specified item; otherwise, false. + The item to check. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + Gets an enumerator that iterates through the collection. + An enumerator object that can be used to iterate through the collection. + + + Removes the specified item from the collection. + The item to remove in the collection. + + + Gets an enumerator that iterates through the collection. + An enumerator object that can be used to iterate through the collection. + + + Defines the methods that are used in an action filter. + + + Executes the filter action asynchronously. + The newly created task for this operation. + The action context. + The cancellation token assigned for this task. + The delegate function to continue after the action method is invoked. + + + No content here will be updated; please do not add material here. + + + Executes the authorization filter to synchronize. + The authorization filter to synchronize. + The action context. + The cancellation token associated with the filter. + The continuation. + + + Defines the methods that are required for an exception filter. + + + Executes an asynchronous exception filter. + An asynchronous exception filter. + The action executed context. + The cancellation token. + + + Specifies a server-side component that is used by the indexing system to index documents that have the file format associated with the IFilter. + + + Gets or sets a value indicating whether more than one instance of the indicated attribute can be specified for a single program element. + true if more than one instance is allowed to be specified; otherwise, false. The default is false. + + + Provides filter information. + + + Returns an enumeration of filters. + An enumeration of filters. + The HTTP configuration. + The action descriptor. + + + Provides common keys for properties stored in the . + + + Provides a key for the client certificate for this request. + + + Provides a key for the associated with this request. + + + Provides a key for the collection of resources that should be disposed when a request is disposed. + + + Provides a key for the associated with this request. + + + Provides a key for the associated with this request. + + + Provides a key that indicates whether error details are to be included in the response for this HTTP request. + + + Provides a key that indicates whether the request originates from a local address. + + + Provides a key for the stored in . This is the correlation ID for that request. + + + Provides a key for the parsed query string stored in . + + + Provides a key for a delegate which can retrieve the client certificate for this request. + + + Provides a key for the current stored in . If is null then no context is stored. + + + Interface for controlling the use of buffering requests and responses in the host. If a host provides support for buffering requests and/or responses then it can use this interface to determine the policy for when buffering is to be used. + + + Determines whether the host should buffer the entity body. + true if buffering should be used; otherwise a streamed request should be used. + The host context. + + + Determines whether the host should buffer the entity body. + true if buffering should be used; otherwise a streamed response should be used. + The HTTP response message. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + The provider. + The type of the container. + The model accessor. + The type of the model. + The name of the property. + + + Gets a dictionary that contains additional metadata about the model. + A dictionary that contains additional metadata about the model. + + + Gets or sets the type of the container for the model. + The type of the container for the model. + + + Gets or sets a value that indicates whether empty strings that are posted back in forms should be converted to null. + true if empty strings that are posted back in forms should be converted to null; otherwise, false. The default value is true. + + + Gets or sets the description of the model. + The description of the model. The default value is null. + + + Gets the display name for the model. + The display name for the model. + + + Gets a list of validators for the model. + A list of validators for the model. + The validator providers for the model. + + + Gets or sets a value that indicates whether the model is a complex type. + A value that indicates whether the model is considered a complex. + + + Gets a value that indicates whether the type is nullable. + true if the type is nullable; otherwise, false. + + + Gets or sets a value that indicates whether the model is read-only. + true if the model is read-only; otherwise, false. + + + Gets the value of the model. + The model value can be null. + + + Gets the type of the model. + The type of the model. + + + Gets a collection of model metadata objects that describe the properties of the model. + A collection of model metadata objects that describe the properties of the model. + + + Gets the property name. + The property name. + + + Gets or sets the provider. + The provider. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + + + Gets a ModelMetadata object for each property of a model. + A ModelMetadata object for each property of a model. + The container. + The type of the container. + + + Get metadata for the specified property. + The metadata model for the specified property. + The model accessor. + The type of the container. + The property to get the metadata model for. + + + Gets the metadata for the specified model accessor and model type. + The metadata. + The model accessor. + The type of the mode. + + + Provides an abstract class to implement a metadata provider. + The type of the model metadata. + + + Initializes a new instance of the class. + + + When overridden in a derived class, creates the model metadata for the property using the specified prototype. + The model metadata for the property. + The prototype from which to create the model metadata. + The model accessor. + + + When overridden in a derived class, creates the model metadata for the property. + The model metadata for the property. + The set of attributes. + The type of the container. + The type of the model. + The name of the property. + + + Retrieves a list of properties for the model. + A list of properties for the model. + The model container. + The type of the container. + + + Retrieves the metadata for the specified property using the container type and property name. + The metadata for the specified property. + The model accessor. + The type of the container. + The name of the property. + + + Returns the metadata for the specified property using the type of the model. + The metadata for the specified property. + The model accessor. + The type of the container. + + + Provides prototype cache data for . + + + Initializes a new instance of the class. + The attributes that provides data for the initialization. + + + Gets or sets the metadata display attribute. + The metadata display attribute. + + + Gets or sets the metadata display format attribute. + The metadata display format attribute. + + + Gets or sets the metadata editable attribute. + The metadata editable attribute. + + + Gets or sets the metadata read-only attribute. + The metadata read-only attribute. + + + Provides a container for common metadata, for the class, for a data model. + + + Initializes a new instance of the class. + The prototype used to initialize the model metadata. + The model accessor. + + + Initializes a new instance of the class. + The metadata provider. + The type of the container. + The type of the model. + The name of the property. + The attributes that provides data for the initialization. + + + Retrieves a value that indicates whether empty strings that are posted back in forms should be converted to null. + true if empty strings that are posted back in forms should be converted to null; otherwise, false. + + + Retrieves the description of the model. + The description of the model. + + + Retrieves a value that indicates whether the model is read-only. + true if the model is read-only; otherwise, false. + + + No content here will be updated; please do not add material here. + The type of prototype cache. + + + Initializes a new instance of the class. + The prototype. + The model accessor. + + + Initializes a new instance of the class. + The provider. + The type of container. + The type of the model. + The name of the property. + The prototype cache. + + + Indicates whether empty strings that are posted back in forms should be computed and converted to null. + true if empty strings that are posted back in forms should be computed and converted to null; otherwise, false. + + + Indicates the computation value. + The computation value. + + + Gets a value that indicates whether the model is a complex type. + A value that indicates whether the model is considered a complex type by the Web API framework. + + + Gets a value that indicates whether the model to be computed is read-only. + true if the model to be computed is read-only; otherwise, false. + + + Gets or sets a value that indicates whether empty strings that are posted back in forms should be converted to null. + true if empty strings that are posted back in forms should be converted to null; otherwise, false. The default value is true. + + + Gets or sets the description of the model. + The description of the model. + + + Gets a value that indicates whether the model is a complex type. + A value that indicates whether the model is considered a complex type by the Web API framework. + + + Gets or sets a value that indicates whether the model is read-only. + true if the model is read-only; otherwise, false. + + + Gets or sets a value that indicates whether the prototype cache is updating. + true if the prototype cache is updating; otherwise, false. + + + Implements the default model metadata provider. + + + Initializes a new instance of the class. + + + Creates the metadata from prototype for the specified property. + The metadata for the property. + The prototype. + The model accessor. + + + Creates the metadata for the specified property. + The metadata for the property. + The attributes. + The type of the container. + The type of the model. + The name of the property. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + + + Creates metadata from prototype. + The metadata. + The model metadata prototype. + The model accessor. + + + Creates a prototype of the metadata provider of the . + A prototype of the metadata provider. + The attributes. + The type of container. + The type of model. + The name of the property. + + + Represents the binding directly to the cancellation token. + + + Initializes a new instance of the class. + The binding descriptor. + + + Executes the binding during synchronization. + The binding during synchronization. + The metadata provider. + The action context. + The notification after the cancellation of the operations. + + + Represents an attribute that invokes a custom model binder. + + + Initializes a new instance of the class. + + + Retrieves the associated model binder. + A reference to an object that implements the interface. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + + + Default implementation of the interface. This interface is the primary entry point for binding action parameters. + The associated with the . + The action descriptor. + + + Gets the associated with the . + The associated with the . + The parameter descriptor. + + + Defines a binding error. + + + Initializes a new instance of the class. + The error descriptor. + The message. + + + Gets the error message. + The error message. + + + Executes the binding method during synchronization. + The metadata provider. + The action context. + The cancellation Token value. + + + Represents parameter binding that will read from the body and invoke the formatters. + + + Initializes a new instance of the class. + The descriptor. + The formatter. + The body model validator. + + + Gets or sets an interface for the body model validator. + An interface for the body model validator. + + + Gets the error message. + The error message. + + + Asynchronously execute the binding of . + The result of the action. + The metadata provider. + The context associated with the action. + The cancellation token. + + + Gets or sets an enumerable object that represents the formatter for the parameter binding. + An enumerable object that represents the formatter for the parameter binding. + + + Asynchronously reads the content of . + The result of the action. + The request. + The type. + The formatter. + The format logger. + + + Gets whether the will read body. + True if the will read body; otherwise, false. + + + Represents the extensions for the collection of form data. + + + Reads the collection extensions with specified type. + The read collection extensions. + The form data. + The generic type. + + + Reads the collection extensions with specified type. + The collection extensions. + The form data. + The name of the model. + The required member selector. + The formatter logger. + The generic type. + + + Reads the collection extensions with specified type. + The collection extensions with specified type. + The form data. + The type of the object. + + + Reads the collection extensions with specified type and model name. + The collection extensions. + The form data. + The type of the object. + The name of the model. + The required member selector. + The formatter logger. + + + Enumerates the behavior of the HTTP binding. + + + The optional binding behavior + + + Never use HTTP binding. + + + HTTP binding is required. + + + Provides a base class for model-binding behavior attributes. + + + Initializes a new instance of the class. + The behavior. + + + Gets or sets the behavior category. + The behavior category. + + + Gets the unique identifier for this attribute. + The id for this attribute. + + + Parameter binds to the request. + + + Initializes a new instance of the class. + The parameter descriptor. + + + Asynchronously executes parameter binding. + The binded parameter. + The metadata provider. + The action context. + The cancellation token. + + + Defines the methods that are required for a model binder. + + + Binds the model to a value by using the specified controller context and binding context. + The bound value. + The action context. + The binding context. + + + Represents a value provider for parameter binding. + + + Gets the instances used by this parameter binding. + The instances used by this parameter binding. + + + Represents the class for handling HTML form URL-ended data, also known as application/x-www-form-urlencoded. + + + Initializes a new instance of the class. + + + Determines whether this can read objects of the specified . + true if objects of this type can be read; otherwise false. + The type of object that will be read. + + + Reads an object of the specified from the specified stream. This method is called during deserialization. + A whose result will be the object instance that has been read. + The type of object to read. + The from which to read. + The content being read. + The to log events to. + + + Specify this parameter uses a model binder. This can optionally specify the specific model binder and value providers that drive that model binder. Derived attributes may provide convenience settings for the model binder or value provider. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The type of model binder. + + + Gets or sets the type of model binder. + The type of model binder. + + + Gets the binding for a parameter. + The that contains the binding. + The parameter to bind. + + + Get the IModelBinder for this type. + a non-null model binder. + The configuration. + model type that the binder is expected to bind. + + + Gets the model binder provider. + The instance. + The configuration object. + + + Gets the value providers that will be fed to the model binder. + A collection of instances. + The configuration object. + + + Gets or sets the name to consider as the parameter name during model binding. + The parameter name to consider. + + + Gets or sets a value that specifies whether the prefix check should be suppressed. + true if the prefix check should be suppressed; otherwise, false. + + + Provides a container for model-binder configuration. + + + Gets or sets the name of the resource file (class key) that contains localized string values. + The name of the resource file (class key). + + + Gets or sets the current provider for type-conversion error message. + The current provider for type-conversion error message. + + + Gets or sets the current provider for value-required error messages. + The error message provider. + + + Provides a container for model-binder error message provider. + + + Describes a parameter that gets bound via ModelBinding. + + + Initializes a new instance of the class. + The parameter descriptor. + The model binder. + The collection of value provider factory. + + + Gets the model binder. + The model binder. + + + Asynchronously executes the parameter binding via the model binder. + The task that is signaled when the binding is complete. + The metadata provider to use for validation. + The action context for the binding. + The cancellation token assigned for this task for cancelling the binding operation. + + + Gets the collection of value provider factory. + The collection of value provider factory. + + + Provides an abstract base class for model binder providers. + + + Initializes a new instance of the class. + + + Finds a binder for the given type. + A binder, which can attempt to bind this type. Or null if the binder knows statically that it will never be able to bind the type. + A configuration object. + The type of the model to bind against. + + + Provides the context in which a model binder functions. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The binding context. + + + Gets or sets a value that indicates whether the binder should use an empty prefix. + true if the binder should use an empty prefix; otherwise, false. + + + Gets or sets the model. + The model. + + + Gets or sets the model metadata. + The model metadata. + + + Gets or sets the name of the model. + The name of the model. + + + Gets or sets the state of the model. + The state of the model. + + + Gets or sets the type of the model. + The type of the model. + + + Gets the property metadata. + The property metadata. + + + Gets or sets the validation node. + The validation node. + + + Gets or sets the value provider. + The value provider. + + + Represents an error that occurs during model binding. + + + Initializes a new instance of the class by using the specified exception. + The exception. + + + Initializes a new instance of the class by using the specified exception and error message. + The exception. + The error message + + + Initializes a new instance of the class by using the specified error message. + The error message + + + Gets or sets the error message. + The error message. + + + Gets or sets the exception object. + The exception object. + + + Represents a collection of instances. + + + Initializes a new instance of the class. + + + Adds the specified Exception object to the model-error collection. + The exception. + + + Adds the specified error message to the model-error collection. + The error message. + + + Encapsulates the state of model binding to a property of an action-method argument, or to the argument itself. + + + Initializes a new instance of the class. + + + Gets a object that contains any errors that occurred during model binding. + The model state errors. + + + Gets a object that encapsulates the value that was being bound during model binding. + The model state value. + + + Represents the state of an attempt to bind a posted form to an action method, which includes validation information. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using values that are copied from the specified model-state dictionary. + The dictionary. + + + Adds the specified item to the model-state dictionary. + The object to add to the model-state dictionary. + + + Adds an element that has the specified key and value to the model-state dictionary. + The key of the element to add. + The value of the element to add. + + + Adds the specified model error to the errors collection for the model-state dictionary that is associated with the specified key. + The key. + The exception. + + + Adds the specified error message to the errors collection for the model-state dictionary that is associated with the specified key. + The key. + The error message. + + + Removes all items from the model-state dictionary. + + + Determines whether the model-state dictionary contains a specific value. + true if item is found in the model-state dictionary; otherwise, false. + The object to locate in the model-state dictionary. + + + Determines whether the model-state dictionary contains the specified key. + true if the model-state dictionary contains the specified key; otherwise, false. + The key to locate in the model-state dictionary. + + + Copies the elements of the model-state dictionary to an array, starting at a specified index. + The array. The array must have zero-based indexing. + The zero-based index in array at which copying starts. + + + Gets the number of key/value pairs in the collection. + The number of key/value pairs in the collection. + + + Returns an enumerator that can be used to iterate through the collection. + An enumerator that can be used to iterate through the collection. + + + Gets a value that indicates whether the collection is read-only. + true if the collection is read-only; otherwise, false. + + + Gets a value that indicates whether this instance of the model-state dictionary is valid. + true if this instance is valid; otherwise, false. + + + Determines whether there are any objects that are associated with or prefixed with the specified key. + true if the model-state dictionary contains a value that is associated with the specified key; otherwise, false. + The key. + + + Gets or sets the value that is associated with the specified key. + The model state item. + The key. + + + Gets a collection that contains the keys in the dictionary. + A collection that contains the keys of the model-state dictionary. + + + Copies the values from the specified object into this dictionary, overwriting existing values if keys are the same. + The dictionary. + + + Removes the first occurrence of the specified object from the model-state dictionary. + true if item was successfully removed the model-state dictionary; otherwise, false. This method also returns false if item is not found in the model-state dictionary. + The object to remove from the model-state dictionary. + + + Removes the element that has the specified key from the model-state dictionary. + true if the element is successfully removed; otherwise, false. This method also returns false if key was not found in the model-state dictionary. + The key of the element to remove. + + + Sets the value for the specified key by using the specified value provider dictionary. + The key. + The value. + + + Returns an enumerator that iterates through a collection. + An IEnumerator object that can be used to iterate through the collection. + + + Attempts to gets the value that is associated with the specified key. + true if the object contains an element that has the specified key; otherwise, false. + The key of the value to get. + The value associated with the specified key. + + + Gets a collection that contains the values in the dictionary. + A collection that contains the values of the model-state dictionary. + + + Collection of functions that can produce a parameter binding for a given parameter. + + + Initializes a new instance of the class. + + + Adds function to the end of the collection. The function added is a wrapper around funcInner that checks that parameterType matches typeMatch. + type to match against HttpParameterDescriptor.ParameterType + inner function that is invoked if type match succeeds + + + Insert a function at the specified index in the collection. /// The function added is a wrapper around funcInner that checks that parameterType matches typeMatch. + index to insert at. + type to match against HttpParameterDescriptor.ParameterType + inner function that is invoked if type match succeeds + + + Execute each binding function in order until one of them returns a non-null binding. + the first non-null binding produced for the parameter. Of null if no binding is produced. + parameter to bind. + + + Maps a browser request to an array. + The type of the array. + + + Initializes a new instance of the class. + + + Indicates whether the model is binded. + true if the specified model is binded; otherwise, false. + The action context. + The binding context. + + + Converts the collection to an array. + true in all cases. + The action context. + The binding context. + The new collection. + + + Provides a model binder for arrays. + + + Initializes a new instance of the class. + + + Returns a model binder for arrays. + A model binder object or null if the attempt to get a model binder is unsuccessful. + The configuration. + The type of model. + + + Maps a browser request to a collection. + The type of the collection. + + + Initializes a new instance of the class. + + + Binds the model by using the specified execution context and binding context. + true if model binding is successful; otherwise, false. + The action context. + The binding context. + + + Provides a way for derived classes to manipulate the collection before returning it from the binder. + true in all cases. + The action context. + The binding context. + The new collection. + + + Provides a model binder for a collection. + + + Initializes a new instance of the class. + + + Retrieves a model binder for a collection. + The model binder. + The configuration of the model. + The type of the model. + + + Represents a data transfer object (DTO) for a complex model. + + + Initializes a new instance of the class. + The model metadata. + The collection of property metadata. + + + Gets or sets the model metadata of the . + The model metadata of the . + + + Gets or sets the collection of property metadata of the . + The collection of property metadata of the . + + + Gets or sets the results of the . + The results of the . + + + Represents a model binder for object. + + + Initializes a new instance of the class. + + + Determines whether the specified model is binded. + true if the specified model is binded; otherwise, false. + The action context. + The binding context. + + + Represents a complex model that invokes a model binder provider. + + + Initializes a new instance of the class. + + + Retrieves the associated model binder. + The model binder. + The configuration. + The type of the model to retrieve. + + + Represents the result for object. + + + Initializes a new instance of the class. + The object model. + The validation node. + + + Gets or sets the model for this object. + The model for this object. + + + Gets or sets the for this object. + The for this object. + + + Represents an that delegates to one of a collection of instances. + + + Initializes a new instance of the class. + An enumeration of binders. + + + Initializes a new instance of the class. + An array of binders. + + + Indicates whether the specified model is binded. + true if the model is binded; otherwise, false. + The action context. + The binding context. + + + Represents the class for composite model binder providers. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + A collection of + + + Gets the binder for the model. + The binder for the model. + The binder configuration. + The type of the model. + + + Gets the providers for the composite model binder. + The collection of providers. + + + Maps a browser request to a dictionary data object. + The type of the key. + The type of the value. + + + Initializes a new instance of the class. + + + Converts the collection to a dictionary. + true in all cases. + The action context. + The binding context. + The new collection. + + + Provides a model binder for a dictionary. + + + Initializes a new instance of the class. + + + Retrieves the associated model binder. + The associated model binder. + The configuration to use. + The type of model. + + + Maps a browser request to a key/value pair data object. + The type of the key. + The type of the value. + + + Initializes a new instance of the class. + + + Binds the model by using the specified execution context and binding context. + true if model binding is successful; otherwise, false. + The action context. + The binding context. + + + Provides a model binder for a collection of key/value pairs. + + + Initializes a new instance of the class. + + + Retrieves the associated model binder. + The associated model binder. + The configuration. + The type of model. + + + Maps a browser request to a mutable data object. + + + Initializes a new instance of the class. + + + Binds the model by using the specified action context and binding context. + true if binding is successful; otherwise, false. + The action context. + The binding context. + + + Retrieves a value that indicates whether a property can be updated. + true if the property can be updated; otherwise, false. + The metadata for the property to be evaluated. + + + Creates an instance of the model. + The newly created model object. + The action context. + The binding context. + + + Creates a model instance if an instance does not yet exist in the binding context. + The action context. + The binding context. + + + Retrieves metadata for properties of the model. + The metadata for properties of the model. + The action context. + The binding context. + + + Sets the value of a specified property. + The action context. + The binding context. + The metadata for the property to set. + The validation information about the property. + The validator for the model. + + + Provides a model binder for mutable objects. + + + Initializes a new instance of the class. + + + Retrieves the model binder for the specified type. + The model binder. + The configuration. + The type of the model to retrieve. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + The model type. + The model binder factory. + + + Initializes a new instance of the class by using the specified model type and the model binder. + The model type. + The model binder. + + + Returns a model binder by using the specified execution context and binding context. + The model binder, or null if the attempt to get a model binder is unsuccessful. + The configuration. + The model type. + + + Gets the type of the model. + The type of the model. + + + Gets or sets a value that specifies whether the prefix check should be suppressed. + true if the prefix check should be suppressed; otherwise, false. + + + Maps a browser request to a data object. This type is used when model binding requires conversions using a .NET Framework type converter. + + + Initializes a new instance of the class. + + + Binds the model by using the specified controller context and binding context. + true if model binding is successful; otherwise, false. + The action context. + The binding context. + + + Provides a model binder for a model that requires type conversion. + + + Initializes a new instance of the class. + + + Retrieve a model binder for a model that requires type conversion. + The model binder, or Nothing if the type cannot be converted or there is no value to convert. + The configuration of the binder. + The type of the model. + + + Maps a browser request to a data object. This class is used when model binding does not require type conversion. + + + Initializes a new instance of the class. + + + Binds the model by using the specified execution context and binding context. + true if model binding is successful; otherwise, false. + The action context. + The binding context. + + + Provides a model binder for a model that does not require type conversion. + + + Initializes a new instance of the class. + + + Retrieves the associated model binder. + The associated model binder. + The configuration. + The type of model. + + + The understands $filter, $orderby, $top and $skip OData query parameters + + + Initializes a new instance of the class. + + + Build the for the given uri. + The + The to build the from + + + A is used to extract the query from a Uri. + + + Build the for the given uri. Return null if there is no query in the Uri. + The + The to build the from + + + Represents a query option like $filter, $top etc. + + + Applies this on to an returning the resultant + The resultant + The source + + + The value part of the query parameter for this query part. + + + The query operator that this query parameter is for. + + + Represents an . + + + Initializes a new instance of the class. + + + Gets or sets a list of query parts. + + + Enables you to define which HTTP verbs are allowed when ASP.NET routing determines whether a URL matches a route. + + + Initializes a new instance of the class by using the HTTP verbs that are allowed for the route. + The HTTP verbs that are valid for the route. + + + Gets or sets the collection of allowed HTTP verbs for the route. + A collection of allowed HTTP verbs for the route. + + + Determines whether the request was made with an HTTP verb that is one of the allowed verbs for the route. + When ASP.NET routing is processing a request, true if the request was made by using an allowed HTTP verb; otherwise, false. When ASP.NET routing is constructing a URL, true if the supplied values contain an HTTP verb that matches one of the allowed HTTP verbs; otherwise, false. The default is true. + The request that is being checked to determine whether it matches the URL. + The object that is being checked to determine whether it matches the URL. + The name of the parameter that is being checked. + An object that contains the parameters for a route. + An object that indicates whether the constraint check is being performed when an incoming request is processed or when a URL is generated. + + + Determines whether the request was made with an HTTP verb that is one of the allowed verbs for the route. + When ASP.NET routing is processing a request, true if the request was made by using an allowed HTTP verb; otherwise, false. When ASP.NET routing is constructing a URL, true if the supplied values contain an HTTP verb that matches one of the allowed HTTP verbs; otherwise, false. The default is true. + The request that is being checked to determine whether it matches the URL. + The object that is being checked to determine whether it matches the URL. + The name of the parameter that is being checked. + An object that contains the parameters for a route. + An object that indicates whether the constraint check is being performed when an incoming request is processed or when a URL is generated. + + + Represents a route class for self-host (i.e. hosted outside of ASP.NET). + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The route template. + + + Initializes a new instance of the class. + The route template. + The default values for the route parameters. + + + Initializes a new instance of the class. + The route template. + The default values for the route parameters. + The constraints for the route parameters. + + + Initializes a new instance of the class. + The route template. + The default values for the route parameters. + The constraints for the route parameters. + Any additional tokens for the route parameters. + + + Initializes a new instance of the class. + The route template. + The default values for the route parameters. + The constraints for the route parameters. + Any additional tokens for the route parameters. + The message handler that will be the recipient of the request. + + + Gets the constraints for the route parameters. + The constraints for the route parameters. + + + Gets any additional data tokens not used directly to determine whether a route matches an incoming . + Any additional data tokens not used directly to determine whether a route matches an incoming . + + + Gets the default values for route parameters if not provided by the incoming . + The default values for route parameters if not provided by the incoming . + + + Determines whether this route is a match for the incoming request by looking up the for the route. + The for a route if matches; otherwise null. + The virtual path root. + The HTTP request. + + + Attempts to generate a URI that represents the values passed in based on current values from the and new values using the specified . + A instance or null if URI cannot be generated. + The HTTP request message. + The route values. + + + Gets or sets the http route handler. + The http route handler. + + + Determines whether this instance equals a specified route. + true if this instance equals a specified route; otherwise, false. + The HTTP request. + The constraints for the route parameters. + The name of the parameter. + The list of parameter values. + One of the enumeration values of the enumeration. + + + Gets the route template describing the URI pattern to match against. + The route template describing the URI pattern to match against. + + + Encapsulates information regarding the HTTP route. + + + Initializes a new instance of the class. + An object that defines the route. + + + Initializes a new instance of the class. + An object that defines the route. + The value. + + + Gets the object that represents the route. + the object that represents the route. + + + Gets a collection of URL parameter values and default values for the route. + An object that contains values that are parsed from the URL and from default values. + + + Specifies an enumeration of route direction. + + + The UriResolution direction. + + + The UriGeneration direction. + + + Represents a route class for self-host of specified key/value pairs. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The dictionary. + + + Initializes a new instance of the class. + The key value. + + + Presents the data regarding the HTTP virtual path. + + + Initializes a new instance of the class. + The route of the virtual path. + The URL that was created from the route definition. + + + Gets or sets the route of the virtual path.. + The route of the virtual path. + + + Gets or sets the URL that was created from the route definition. + The URL that was created from the route definition. + + + + defines the interface for a route expressing how to map an incoming to a particular controller and action. + + + Gets the constraints for the route parameters. + The constraints for the route parameters. + + + Gets any additional data tokens not used directly to determine whether a route matches an incoming . + The additional data tokens. + + + Gets the default values for route parameters if not provided by the incoming . + The default values for route parameters. + + + Determine whether this route is a match for the incoming request by looking up the <see cref="!:IRouteData" /> for the route. + The <see cref="!:RouteData" /> for a route if matches; otherwise null. + The virtual path root. + The request. + + + Gets a virtual path data based on the route and the values provided. + The virtual path data. + The request message. + The values. + + + Gets the message handler that will be the recipient of the request. + The message handler. + + + Gets the route template describing the URI pattern to match against. + The route template. + + + Represents a base class route constraint. + + + Determines whether this instance equals a specified route. + True if this instance equals a specified route; otherwise, false. + The request. + The route to compare. + The name of the parameter. + A list of parameter values. + The route direction. + + + Provides information about a route. + + + Gets the object that represents the route. + The object that represents the route. + + + Gets a collection of URL parameter values and default values for the route. + The values that are parsed from the URL and from default values. + + + Defines the properties for HTTP route. + + + Gets the HTTP route. + The HTTP route. + + + Gets the URI that represents the virtual path of the current HTTP route. + The URI that represents the virtual path of the current HTTP route. + + + No content here will be updated; please do not add material here. + + + Initializes a new instance of the class. + The HTTP request for this instance. + + + Returns a link for the specified route. + A link for the specified route. + The name of the route. + An object that contains the parameters for a route. + + + Returns a link for the specified route. + A link for the specified route. + The name of the route. + A route value. + + + Gets or sets the of the current instance. + The of the current instance. + + + Returns the route for the . + The route for the . + The name of the route. + A list of route values. + + + Returns the route for the . + The route for the . + The name of the route. + The route values. + + + Represents a container for service instances used by the . Note that this container only supports known types, and methods to get or set arbitrary service types will throw when called. For creation of arbitrary types, please use instead. The supported types for this container are: Passing any type which is not on this to any method on this interface will cause an to be thrown. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with a specified object. + The object. + + + Removes a single-instance service from the default services. + The type of the service. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Gets a service of the specified type. + The first instance of the service, or null if the service is not found. + The type of service. + + + Gets the list of service objects for a given service type, and validates the service type. + The list of service objects of the specified type. + The service type. + + + Gets the list of service objects for a given service type. + The list of service objects of the specified type, or an empty list if the service is not found. + The type of service. + + + Queries whether a service type is single-instance. + true if the service type has at most one instance, or false if the service type supports multiple instances. + The service type. + + + Replaces a single-instance service object. + The service type. + The service object that replaces the previous instance. + + + Removes the cached values for a single service type. + The service type. + + + Represents a performance tracing class to log method entry/exit and duration. + + + Initializes the class with a specified configuration. + The configuration. + + + Represents the trace writer. + + + Invokes the specified traceAction to allow setting values in a new if and only if tracing is permitted at the given category and level. + The current . It may be null but doing so will prevent subsequent trace analysis from correlating the trace to a particular request. + The logical category for the trace. Users can define their own. + The at which to write this trace. + The action to invoke if tracing is enabled. The caller is expected to fill in the fields of the given in this action. + + + Represents an extension methods for . + + + Provides a set of methods and properties that help debug your code with the specified writer, request, category and exception. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The error occurred during execution. + + + Provides a set of methods and properties that help debug your code with the specified writer, request, category, exception, message format and argument. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The error occurred during execution. + The format of the message. + The message argument. + + + Provides a set of methods and properties that help debug your code with the specified writer, request, category, exception, message format and argument. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The format of the message. + The message argument. + + + Displays an error message in the list with the specified writer, request, category and exception. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The error occurred during execution. + + + Displays an error message in the list with the specified writer, request, category, exception, message format and argument. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The exception. + The format of the message. + The argument in the message. + + + Displays an error message in the list with the specified writer, request, category, message format and argument. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The format of the message. + The argument in the message. + + + Displays an error message in the class with the specified writer, request, category and exception. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The exception that appears during execution. + + + Displays an error message in the class with the specified writer, request, category and exception, message format and argument. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The exception. + The format of the message. + The message argument. + + + Displays an error message in the class with the specified writer, request, category and message format and argument. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The format of the message. + The message argument. + + + Displays the details in the . + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The error occurred during execution. + + + Displays the details in the . + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The error occurred during execution. + The format of the message. + The message argument. + + + Displays the details in the . + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The format of the message. + The message argument. + + + Indicates the trace listeners in the Listeners collection. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The trace level. + The error occurred during execution. + + + Indicates the trace listeners in the Listeners collection. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The trace level. + The error occurred during execution. + The format of the message. + The message argument. + + + Indicates the trace listeners in the Listeners collection. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The of the trace. + The format of the message. + The message argument. + + + Traces both a begin and an end trace around a specified operation. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The of the trace. + The name of the object performing the operation. It may be null. + The name of the operation being performed. It may be null. + The to invoke prior to performing the operation, allowing the given to be filled in. It may be null. + An <see cref="T:System.Func`1" /> that returns the that will perform the operation. + The to invoke after successfully performing the operation, allowing the given to be filled in. It may be null. + The to invoke if an error was encountered performing the operation, allowing the given to be filled in. It may be null. + + + Traces both a begin and an end trace around a specified operation. + The returned by the operation. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The of the trace. + The name of the object performing the operation. It may be null. + The name of the operation being performed. It may be null. + The to invoke prior to performing the operation, allowing the given to be filled in. It may be null. + An <see cref="T:System.Func`1" /> that returns the that will perform the operation. + The to invoke after successfully performing the operation, allowing the given to be filled in. The result of the completed task will also be passed to this action. This action may be null. + The to invoke if an error was encountered performing the operation, allowing the given to be filled in. It may be null. + The type of result produced by the . + + + Traces both a begin and an end trace around a specified operation. + The returned by the operation. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The of the trace. + The name of the object performing the operation. It may be null. + The name of the operation being performed. It may be null. + The to invoke prior to performing the operation, allowing the given to be filled in. It may be null. + An <see cref="T:System.Func`1" /> that returns the that will perform the operation. + The to invoke after successfully performing the operation, allowing the given to be filled in. It may be null. + The to invoke if an error was encountered performing the operation, allowing the given to be filled in. It may be null. + + + Indicates the warning level of execution. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The error occurred during execution. + + + Indicates the warning level of execution. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The error occurred during execution. + The format of the message. + The message argument. + + + Indicates the warning level of execution. + The . + The with which to associate the trace. It may be null. + The logical category of the trace. + The format of the message. + The message argument. + + + Specifies an enumeration of tracing categories. + + + An action category. + + + The controllers category. + + + The filters category. + + + The formatting category. + + + The message handlers category. + + + The model binding category. + + + The request category. + + + The routing category. + + + Specifies the kind of tracing operation. + + + Single trace, not part of a Begin/End trace pair. + + + Trace marking the beginning of some operation. + + + Trace marking the end of some operation. + + + Specifies an enumeration of tracing level. + + + Tracing is disabled. + + + Trace level for debugging traces. + + + Trace level for informational traces. + + + Trace level for warning traces. + + + Trace level for error traces. + + + Trace level for fatal traces. + + + Represents a trace record. + + + Initializes a new instance of the class. + The message request. + The trace category. + The trace level. + + + Gets or sets the tracing category. + The tracing category. + + + Gets or sets the exception. + The exception. + + + Gets or sets the kind of trace. + The kind of trace. + + + Gets or sets the tracing level. + The tracing level. + + + Gets or sets the message. + The message. + + + Gets or sets the logical operation name being performed. + The logical operation name being performed. + + + Gets or sets the logical name of the object performing the operation. + The logical name of the object performing the operation. + + + Gets the optional user-defined properties. + The optional user-defined properties. + + + Gets the from the record. + The from the record. + + + Gets the correlation ID from the . + The correlation ID from the . + + + Gets or sets the associated with the . + The associated with the . + + + Gets the of this trace (via ). + The of this trace (via ). + + + Represents a class used to recursively validate an object. + + + Initializes a new instance of the class. + + + Determines whether the model is valid and adds any validation errors to the actionContext's . + True if model is valid, false otherwise. + The model to be validated. + The to use for validation. + The used to provide the model metadata. + The within which the model is being validated. + The to append to the key for any validation errors. + + + Represents an interface for the validation of the models + + + Determines whether the model is valid and adds any validation errors to the actionContext's + trueif model is valid, false otherwise. + The model to be validated. + The to use for validation. + The used to provide the model metadata. + The within which the model is being validated. + The to append to the key for any validation errors. + + + This logs formatter errors to the provided . + + + Initializes a new instance of the class. + The model state. + The prefix. + + + Logs the specified model error. + The error path. + The error message. + + + Logs the specified model error. + The error path. + The error message. + + + Provides data for the event. + + + Initializes a new instance of the class. + The action context. + The parent node. + + + Gets or sets the context for an action. + The context for an action. + + + Gets or sets the parent of this node. + The parent of this node. + + + Provides data for the event. + + + Initializes a new instance of the class. + The action context. + The parent node. + + + Gets or sets the context for an action. + The context for an action. + + + Gets or sets the parent of this node. + The parent of this node. + + + Provides a container for model validation information. + + + Initializes a new instance of the class, using the model metadata and state key. + The model metadata. + The model state key. + + + Initializes a new instance of the class, using the model metadata, the model state key, and child model-validation nodes. + The model metadata. + The model state key. + The model child nodes. + + + Gets or sets the child nodes. + The child nodes. + + + Combines the current instance with a specified instance. + The model validation node to combine with the current instance. + + + Gets or sets the model metadata. + The model metadata. + + + Gets or sets the model state key. + The model state key. + + + Gets or sets a value that indicates whether validation should be suppressed. + true if validation should be suppressed; otherwise, false. + + + Validates the model using the specified execution context. + The action context. + + + Validates the model using the specified execution context and parent node. + The action context. + The parent node. + + + Gets or sets a value that indicates whether all properties of the model should be validated. + true if all properties of the model should be validated, or false if validation should be skipped. + + + Occurs when the model has been validated. + + + Occurs when the model is being validated. + + + Represents the selection of required members by checking for any required ModelValidators associated with the member. + + + Initializes a new instance of the class. + The metadata provider. + The validator providers. + + + Indicates whether the member is required for validation. + true if the member is required for validation; otherwise, false. + The member. + + + Provides a container for a validation result. + + + Initializes a new instance of the class. + + + Gets or sets the name of the member. + The name of the member. + + + Gets or sets the validation result message. + The validation result message. + + + Provides a base class for implementing validation logic. + + + Initializes a new instance of the class. + The validator providers. + + + Returns a composite model validator for the model. + A composite model validator for the model. + An enumeration of validator providers. + + + Gets a value that indicates whether a model property is required. + true if the model property is required; otherwise, false. + + + Validates a specified object. + A list of validation results. + The metadata. + The container. + + + Gets or sets an enumeration of validator providers. + An enumeration of validator providers. + + + Provides a list of validators for a model. + + + Initializes a new instance of the class. + + + Gets a list of validators associated with this . + The list of validators. + The metadata. + The validator providers. + + + Provides an abstract class for classes that implement a validation provider. + + + Initializes a new instance of the class. + + + Gets a type descriptor for the specified type. + A type descriptor for the specified type. + The type of the validation provider. + + + Gets the validators for the model using the metadata and validator providers. + The validators for the model. + The metadata. + An enumeration of validator providers. + + + Gets the validators for the model using the metadata, the validator providers, and a list of attributes. + The validators for the model. + The metadata. + An enumeration of validator providers. + The list of attributes. + + + Represents the method that creates a instance. + + + Represents an implementation of which providers validators for attributes which derive from . It also provides a validator for types which implement . To support client side validation, you can either register adapters through the static methods on this class, or by having your validation attributes implement . The logic to support IClientValidatable is implemented in . + + + Initializes a new instance of the class. + + + Gets the validators for the model using the specified metadata, validator provider and attributes. + The validators for the model. + The metadata. + The validator providers. + The attributes. + + + Registers an adapter to provide client-side validation. + The type of the validation attribute. + The type of the adapter. + + + Registers an adapter factory for the validation provider. + The type of the attribute. + The factory that will be used to create the object for the specified attribute. + + + Registers the default adapter. + The type of the adapter. + + + Registers the default adapter factory. + The factory that will be used to create the object for the default adapter. + + + Registers the default adapter type for objects which implement . The adapter type must derive from and it must contain a public constructor which takes two parameters of types and . + The type of the adapter. + + + Registers the default adapter factory for objects which implement . + The factory. + + + Registers an adapter type for the given modelType, which must implement . The adapter type must derive from and it must contain a public constructor which takes two parameters of types and . + The model type. + The type of the adapter. + + + Registers an adapter factory for the given modelType, which must implement . + The model type. + The factory. + + + Provides a factory for validators that are based on . + + + Represents a validator provider for data member model. + + + Initializes a new instance of the class. + + + Gets the validators for the model. + The validators for the model. + The metadata. + An enumerator of validator providers. + A list of attributes. + + + An implementation of which provides validators that throw exceptions when the model is invalid. + + + Initializes a new instance of the class. + + + Gets a list of validators associated with this . + The list of validators. + The metadata. + The validator providers. + The list of attributes. + + + Represents the provider for the required member model validator. + + + Initializes a new instance of the class. + The required member selector. + + + Gets the validator for the member model. + The validator for the member model. + The metadata. + The validator providers + + + Provides a model validator. + + + Initializes a new instance of the class. + The validator providers. + The validation attribute for the model. + + + Gets or sets the validation attribute for the model validator. + The validation attribute for the model validator. + + + Gets a value that indicates whether model validation is required. + true if model validation is required; otherwise, false. + + + Validates the model and returns the validation errors if any. + A list of validation error messages for the model, or an empty list if no errors have occurred. + The model metadata. + The container for the model. + + + A to represent an error. This validator will always throw an exception regardless of the actual model value. + + + Initializes a new instance of the class. + The list of model validator providers. + The error message for the exception. + + + Validates a specified object. + A list of validation results. + The metadata. + The container. + + + Represents the for required members. + + + Initializes a new instance of the class. + The validator providers. + + + Gets or sets a value that instructs the serialization engine that the member must be presents when validating. + true if the member is required; otherwise, false. + + + Validates the object. + A list of validation results. + The metadata. + The container. + + + Provides an object adapter that can be validated. + + + Initializes a new instance of the class. + The validation provider. + + + Validates the specified object. + A list of validation results. + The metadata. + The container. + + + Represents the base class for value providers whose values come from a collection that implements the interface. + + + Retrieves the keys from the specified . + The keys from the specified . + The prefix. + + + Defines the methods that are required for a value provider in ASP.NET MVC. + + + Determines whether the collection contains the specified prefix. + true if the collection contains the specified prefix; otherwise, false. + The prefix to search for. + + + Retrieves a value object using the specified key. + The value object for the specified key. + The key of the value object to retrieve. + + + This attribute is used to specify a custom . + + + Initializes a new instance of the . + The type of the model binder. + + + Initializes a new instance of the . + An array of model binder types. + + + Gets the value provider factories. + A collection of value provider factories. + A configuration object. + + + Gets the types of object returned by the value provider factory. + A collection of types. + + + Represents a factory for creating value-provider objects. + + + Initializes a new instance of the class. + + + Returns a value-provider object for the specified controller context. + A value-provider object. + An object that encapsulates information about the current HTTP request. + + + Represents the result of binding a value (such as from a form post or query string) to an action-method argument property, or to the argument itself. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The raw value. + The attempted value. + The culture. + + + Gets or sets the raw value that is converted to a string for display. + The raw value that is converted to a string for display. + + + Converts the value that is encapsulated by this result to the specified type. + The converted value. + The target type. + + + Converts the value that is encapsulated by this result to the specified type by using the specified culture information. + The converted value. + The target type. + The culture to use in the conversion. + + + Gets or sets the culture. + The culture. + + + Gets or set the raw value that is supplied by the value provider. + The raw value that is supplied by the value provider. + + + Represents a value provider whose values come from a list of value providers that implements the interface. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The list of value providers. + + + Determines whether the collection contains the specified . + true if the collection contains the specified ; otherwise, false. + The prefix to search for. + + + Retrieves the keys from the specified . + The keys from the specified . + The prefix from which keys are retrieved. + + + Retrieves a value object using the specified . + The value object for the specified . + The key of the value object to retrieve. + + + Inserts an element into the collection at the specified index. + The zero-based index at which should be inserted. + The object to insert. + + + Replaces the element at the specified index. + The zero-based index of the element to replace. + The new value for the element at the specified index. + + + Represents a factory for creating a list of value-provider objects. + + + Initializes a new instance of the class. + The collection of value-provider factories. + + + Retrieves a list of value-provider objects for the specified controller context. + The list of value-provider objects for the specified controller context. + An object that encapsulates information about the current HTTP request. + + + A value provider for name/value pairs. + + + Initializes a new instance of the class. + The name/value pairs for the provider. + The culture used for the name/value pairs. + + + Initializes a new instance of the class, using a function delegate to provide the name/value pairs. + A function delegate that returns a collection of name/value pairs. + The culture used for the name/value pairs. + + + Determines whether the collection contains the specified prefix. + true if the collection contains the specified prefix; otherwise, false. + The prefix to search for. + + + Gets the keys from a prefix. + The keys. + The prefix. + + + Retrieves a value object using the specified key. + The value object for the specified key. + The key of the value object to retrieve. + + + Represents a value provider for query strings that are contained in a object. + + + Initializes a new instance of the class. + An object that encapsulates information about the current HTTP request. + An object that contains information about the target culture. + + + Represents a class that is responsible for creating a new instance of a query-string value-provider object. + + + Initializes a new instance of the class. + + + Retrieves a value-provider object for the specified controller context. + A query-string value-provider object. + An object that encapsulates information about the current HTTP request. + + + Represents a value provider for route data that is contained in an object that implements the IDictionary(Of TKey, TValue) interface. + + + Initializes a new instance of the class. + An object that contain information about the HTTP request. + An object that contains information about the target culture. + + + Represents a factory for creating route-data value provider objects. + + + Initializes a new instance of the class. + + + Retrieves a value-provider object for the specified controller context. + A value-provider object. + An object that encapsulates information about the current HTTP request. + + + \ No newline at end of file diff --git a/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0.nupkg b/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0.nupkg new file mode 100644 index 000000000..0ef047cad Binary files /dev/null and b/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0.nupkg differ diff --git a/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/lib/net40/System.Web.Http.WebHost.dll b/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/lib/net40/System.Web.Http.WebHost.dll new file mode 100644 index 000000000..1dfa8d28f Binary files /dev/null and b/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/lib/net40/System.Web.Http.WebHost.dll differ diff --git a/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/lib/net40/System.Web.Http.WebHost.xml b/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/lib/net40/System.Web.Http.WebHost.xml new file mode 100644 index 000000000..ca90fc9df --- /dev/null +++ b/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20710.0/lib/net40/System.Web.Http.WebHost.xml @@ -0,0 +1,136 @@ + + + + System.Web.Http.WebHost + + + + Provides a global for ASP.NET applications. + + + + Gets the default message handler that will be called for all requests. + + + Extension methods for + + + Maps the specified route template. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The route template for the route. + + + Maps the specified route template and sets default route. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The route template for the route. + An object that contains default route values. + + + Maps the specified route template and sets default route values and constraints. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The route template for the route. + An object that contains default route values. + A set of expressions that specify values for routeTemplate. + + + Maps the specified route template and sets default route values, constraints, and end-point message handler. + A reference to the mapped route. + A collection of routes for the application. + The name of the route to map. + The route template for the route. + An object that contains default route values. + A set of expressions that specify values for routeTemplate. + The handler to which the request will be dispatched. + + + A that passes ASP.NET requests into the pipeline and write the result back. + + + Initializes a new instance of the class. + The route data. + + + Begins the process request. + An that contains information about the status of the process. + The HTTP context base. + The callback. + The state. + + + Provides an asynchronous process End method when the process ends. + An that contains information about the status of the process. + + + Gets a value indicating whether another request can use the instance. + + + Processes the request. + The HTTP context base. + + + Begins processing the request. + An that contains information about the status of the process. + The HTTP context. + The callback. + The state. + + + Provides an asynchronous process End method when the process ends. + An that contains information about the status of the process. + + + Gets a value indicating whether another request can use the instance. + + + Processes the request. + The HTTP context base. + + + A that returns instances of that can pass requests to a given instance. + + + Initializes a new instance of the class. + + + Provides the object that processes the request. + An object that processes the request. + An object that encapsulates information about the request. + + + Gets the singleton instance. + + + Provides the object that processes the request. + An object that processes the request. + An object that encapsulates information about the request. + + + Provides a registration point for the simple membership pre-application start code. + + + Registers the simple membership pre-application start code. + + + Represents the web host buffer policy selector. + + + Initializes a new instance of the class. + + + Gets a value that indicates whether the host should buffer the entity body of the HTTP request. + true if buffering should be used; otherwise a streamed request should be used. + The host context. + + + Uses a buffered output stream for the web host. + A buffered output stream. + The response. + + + \ No newline at end of file diff --git a/packages/Microsoft.AspNet.WebPages.2.0.20710.0/Microsoft.AspNet.WebPages.2.0.20710.0.nupkg b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/Microsoft.AspNet.WebPages.2.0.20710.0.nupkg new file mode 100644 index 000000000..38af87501 Binary files /dev/null and b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/Microsoft.AspNet.WebPages.2.0.20710.0.nupkg differ diff --git a/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.Helpers.dll b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.Helpers.dll new file mode 100644 index 000000000..0280d3265 Binary files /dev/null and b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.Helpers.dll differ diff --git a/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.Helpers.xml b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.Helpers.xml new file mode 100644 index 000000000..806a3ba41 --- /dev/null +++ b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.Helpers.xml @@ -0,0 +1,833 @@ + + + + System.Web.Helpers + + + + Displays data in the form of a graphical chart. + + + Initializes a new instance of the class. + The width, in pixels, of the complete chart image. + The height, in pixels, of the complete chart image. + (Optional) The template (theme) to apply to the chart. + (Optional) The template (theme) path and file name to apply to the chart. + + + Adds a legend to the chart. + The chart. + The text of the legend title. + The unique name of the legend. + + + Provides data points and series attributes for the chart. + The chart. + The unique name of the series. + The chart type of a series. + The name of the chart area that is used to plot the data series. + The axis label text for the series. + The name of the series that is associated with the legend. + The granularity of data point markers. + The values to plot along the x-axis. + The name of the field for x-values. + The values to plot along the y-axis. + A comma-separated list of name or names of the field or fields for y-values. + + + Adds a title to the chart. + The chart. + The title text. + The unique name of the title. + + + Binds a chart to a data table, where one series is created for each unique value in a column. + The chart. + The chart data source. + The name of the column that is used to group data into the series. + The name of the column for x-values. + A comma-separated list of names of the columns for y-values. + Other data point properties that can be bound. + The order in which the series will be sorted. The default is "Ascending". + + + Creates and binds series data to the specified data table, and optionally populates multiple x-values. + The chart. + The chart data source. This can be can be any object. + The name of the table column used for the series x-values. + + + Gets or sets the name of the file that contains the chart image. + The name of the file. + + + Returns a chart image as a byte array. + The chart. + The image format. The default is "jpeg". + + + Retrieves the specified chart from the cache. + The chart. + The ID of the cache item that contains the chart to retrieve. The key is set when you call the method. + + + Gets or sets the height, in pixels, of the chart image. + The chart height. + + + Saves a chart image to the specified file. + The chart. + The location and name of the image file. + The image file format, such as "png" or "jpeg". + + + Saves a chart in the system cache. + The ID of the cache item that contains the chart. + The ID of the chart in the cache. + The number of minutes to keep the chart image in the cache. The default is 20. + true to indicate that the chart cache item's expiration is reset each time the item is accessed, or false to indicate that the expiration is based on an absolute interval since the time that the item was added to the cache. The default is true. + + + Saves a chart as an XML file. + The chart. + The path and name of the XML file. + + + Sets values for the horizontal axis. + The chart. + The title of the x-axis. + The minimum value for the x-axis. + The maximum value for the x-axis. + + + Sets values for the vertical axis. + The chart. + The title of the y-axis. + The minimum value for the y-axis. + The maximum value for the y-axis. + + + Creates a object based on the current object. + The chart. + The format of the image to save the object as. The default is "jpeg". The parameter is not case sensitive. + + + Gets or set the width, in pixels, of the chart image. + The chart width. + + + Renders the output of the object as an image. + The chart. + The format of the image. The default is "jpeg". + + + Renders the output of a object that has been cached as an image. + The chart. + The ID of the chart in the cache. + The format of the image. The default is "jpeg". + + + Specifies visual themes for a object. + + + A theme for 2D charting that features a visual container with a blue gradient, rounded edges, drop-shadowing, and high-contrast gridlines. + + + A theme for 2D charting that features a visual container with a green gradient, rounded edges, drop-shadowing, and low-contrast gridlines. + + + A theme for 2D charting that features no visual container and no gridlines. + + + A theme for 3D charting that features no visual container, limited labeling and, sparse, high-contrast gridlines. + + + A theme for 2D charting that features a visual container that has a yellow gradient, rounded edges, drop-shadowing, and high-contrast gridlines. + + + Provides methods to generate hash values and encrypt passwords or other sensitive data. + + + Generates a cryptographically strong sequence of random byte values. + The generated salt value as a base-64-encoded string. + The number of cryptographically random bytes to generate. + + + Returns a hash value for the specified byte array. + The hash value for as a string of hexadecimal characters. + The data to provide a hash value for. + The algorithm that is used to generate the hash value. The default is "sha256". + + is null. + + + Returns a hash value for the specified string. + The hash value for as a string of hexadecimal characters. + The data to provide a hash value for. + The algorithm that is used to generate the hash value. The default is "sha256". + + is null. + + + Returns an RFC 2898 hash value for the specified password. + The hash value for as a base-64-encoded string. + The password to generate a hash value for. + + is null. + + + Returns a SHA-1 hash value for the specified string. + The SHA-1 hash value for as a string of hexadecimal characters. + The data to provide a hash value for. + + is null. + + + Returns a SHA-256 hash value for the specified string. + The SHA-256 hash value for as a string of hexadecimal characters. + The data to provide a hash value for. + + is null. + + + Determines whether the specified RFC 2898 hash and password are a cryptographic match. + true if the hash value is a cryptographic match for the password; otherwise, false. + The previously-computed RFC 2898 hash value as a base-64-encoded string. + The plaintext password to cryptographically compare with . + + or is null. + + + Represents a series of values as a JavaScript-like array by using the dynamic capabilities of the Dynamic Language Runtime (DLR). + + + Initializes a new instance of the class using the specified array element values. + An array of objects that contains the values to add to the instance. + + + Returns an enumerator that can be used to iterate through the elements of the instance. + An enumerator that can be used to iterate through the elements of the JSON array. + + + Returns the value at the specified index in the instance. + The value at the specified index. + The zero-based index of the value in the JSON array to return. + + + Returns the number of elements in the instance. + The number of elements in the JSON array. + + + Converts a instance to an array of objects. + The array of objects that represents the JSON array. + The JSON array to convert. + + + Converts a instance to an array of objects. + The array of objects that represents the JSON array. + The JSON array to convert. + + + Returns an enumerator that can be used to iterate through a collection. + An enumerator that can be used to iterate through the collection. + + + Converts the instance to a compatible type. + true if the conversion was successful; otherwise, false. + Provides information about the conversion operation. + When this method returns, contains the result of the type conversion operation. This parameter is passed uninitialized. + + + Tests the instance for dynamic members (which are not supported) in a way that does not cause an exception to be thrown. + true in all cases. + Provides information about the get operation. + When this method returns, contains null. This parameter is passed uninitialized. + + + Represents a collection of values as a JavaScript-like object by using the capabilities of the Dynamic Language Runtime. + + + Initializes a new instance of the class using the specified field values. + A dictionary of property names and values to add to the instance as dynamic members. + + + Returns a list that contains the name of all dynamic members (JSON fields) of the instance. + A list that contains the name of every dynamic member (JSON field). + + + Converts the instance to a compatible type. + true in all cases. + Provides information about the conversion operation. + When this method returns, contains the result of the type conversion operation. This parameter is passed uninitialized. + The instance could not be converted to the specified type. + + + Gets the value of a field using the specified index. + true in all cases. + Provides information about the indexed get operation. + An array that contains a single object that indexes the field by name. The object must be convertible to a string that specifies the name of the JSON field to return. If multiple indexes are specified, contains null when this method returns. + When this method returns, contains the value of the indexed field, or null if the get operation was unsuccessful. This parameter is passed uninitialized. + + + Gets the value of a field using the specified name. + true in all cases. + Provides information about the get operation. + When this method returns, contains the value of the field, or null if the get operation was unsuccessful. This parameter is passed uninitialized. + + + Sets the value of a field using the specified index. + true in all cases. + Provides information about the indexed set operation. + An array that contains a single object that indexes the field by name. The object must be convertible to a string that specifies the name of the JSON field to return. If multiple indexes are specified, no field is changed or added. + The value to set the field to. + + + Sets the value of a field using the specified name. + true in all cases. + Provides information about the set operation. + The value to set the field to. + + + Provides methods for working with data in JavaScript Object Notation (JSON) format. + + + Converts data in JavaScript Object Notation (JSON) format into the specified strongly typed data list. + The JSON-encoded data converted to a strongly typed list. + The JSON-encoded string to convert. + The type of the strongly typed list to convert JSON data into. + + + Converts data in JavaScript Object Notation (JSON) format into a data object. + The JSON-encoded data converted to a data object. + The JSON-encoded string to convert. + + + Converts data in JavaScript Object Notation (JSON) format into a data object of a specified type. + The JSON-encoded data converted to the specified type. + The JSON-encoded string to convert. + The type that the data should be converted to. + + + Converts a data object to a string that is in the JavaScript Object Notation (JSON) format. + Returns a string of data converted to the JSON format. + The data object to convert. + + + Converts a data object to a string in JavaScript Object Notation (JSON) format and adds the string to the specified object. + The data object to convert. + The object that contains the converted JSON data. + + + Renders the property names and values of the specified object and of any subobjects that it references. + + + Renders the property names and values of the specified object and of any subobjects. + For a simple variable, returns the type and the value. For an object that contains multiple items, returns the property name or key and the value for each property. + The object to render information for. + Optional. Specifies the depth of nested subobjects to render information for. The default is 10. + Optional. Specifies the maximum number of characters that the method displays for object values. The default is 1000. + + is less than zero. + + is less than or equal to zero. + + + Displays information about the web server environment that hosts the current web page. + + + Displays information about the web server environment. + A string of name-value pairs that contains information about the web server. + + + Specifies the direction in which to sort a list of items. + + + Sort from smallest to largest —for example, from 1 to 10. + + + Sort from largest to smallest — for example, from 10 to 1. + + + Provides a cache to store frequently accessed data. + + + Retrieves the specified item from the object. + The item retrieved from the cache, or null if the item is not found. + The identifier for the cache item to retrieve. + + + Removes the specified item from the object. + The item removed from the object. If the item is not found, returns null. + The identifier for the cache item to remove. + + + Inserts an item into the object. + The identifier for the cache item. + The data to insert into the cache. + Optional. The number of minutes to keep an item in the cache. The default is 20. + Optional. true to indicate that the cache item expiration is reset each time the item is accessed, or false to indicate that the expiration is based the absolute time since the item was added to the cache. The default is true. In that case, if you also use the default value for the parameter, a cached item expires 20 minutes after it was last accessed. + The value of is less than or equal to zero. + Sliding expiration is enabled and the value of is greater than a year. + + + Displays data on a web page using an HTML table element. + + + Initializes a new instance of the class. + The data to display. + A collection that contains the names of the data columns to display. By default, this value is auto-populated according to the values in the parameter. + The name of the data column that is used to sort the grid by default. + The number of rows that are displayed on each page of the grid when paging is enabled. The default is 10. + true to specify that paging is enabled for the instance; otherwise false. The default is true. + true to specify that sorting is enabled for the instance; otherwise, false. The default is true. + The value of the HTML id attribute that is used to mark the HTML element that gets dynamic Ajax updates that are associated with the instance. + The name of the JavaScript function that is called after the HTML element specified by the property has been updated. If the name of a function is not provided, no function will be called. If the specified function does not exist, a JavaScript error will occur if it is invoked. + The prefix that is applied to all query-string fields that are associated with the instance. This value is used in order to support multiple instances on the same web page. + The name of the query-string field that is used to specify the current page of the instance. + The name of the query-string field that is used to specify the currently selected row of the instance. + The name of the query-string field that is used to specify the name of the data column that the instance is sorted by. + The name of the query-string field that is used to specify the direction in which the instance is sorted. + + + Gets the name of the JavaScript function to call after the HTML element that is associated with the instance has been updated in response to an Ajax update request. + The name of the function. + + + Gets the value of the HTML id attribute that marks an HTML element on the web page that gets dynamic Ajax updates that are associated with the instance. + The value of the id attribute. + + + Binds the specified data to the instance. + The bound and populated instance. + The data to display. + A collection that contains the names of the data columns to bind. + true to enable sorting and paging of the instance; otherwise, false. + The number of rows to display on each page of the grid. + + + Gets a value that indicates whether the instance supports sorting. + true if the instance supports sorting; otherwise, false. + + + Creates a new instance. + The new column. + The name of the data column to associate with the instance. + The text that is rendered in the header of the HTML table column that is associated with the instance. + The function that is used to format the data values that are associated with the instance. + A string that specifies the name of the CSS class that is used to style the HTML table cells that are associated with the instance. + true to enable sorting in the instance by the data values that are associated with the instance; otherwise, false. The default is true. + + + Gets a collection that contains the name of each data column that is bound to the instance. + The collection of data column names. + + + Returns an array that contains the specified instances. + An array of columns. + A variable number of column instances. + + + Gets the prefix that is applied to all query-string fields that are associated with the instance. + The query-string field prefix of the instance. + + + Returns a JavaScript statement that can be used to update the HTML element that is associated with the instance on the specified web page. + A JavaScript statement that can be used to update the HTML element in a web page that is associated with the instance. + The URL of the web page that contains the instance that is being updated. The URL can include query-string arguments. + + + Returns the HTML markup that is used to render the instance and using the specified paging options. + The HTML markup that represents the fully-populated instance. + The name of the CSS class that is used to style the whole table. + The name of the CSS class that is used to style the table header. + The name of the CSS class that is used to style the table footer. + The name of the CSS class that is used to style each table row. + The name of the CSS class that is used to style even-numbered table rows. + The name of the CSS class that is used to style the selected table row. (Only one row can be selected at a time.) + The table caption. + true to display the table header; otherwise, false. The default is true. + true to insert additional rows in the last page when there are insufficient data items to fill the last page; otherwise, false. The default is false. Additional rows are populated using the text specified by the parameter. + The text that is used to populate additional rows in a page when there are insufficient data items to fill the last page. The parameter must be set to true to display these additional rows. + A collection of instances that specify how each column is displayed. This includes which data column is associated with each grid column, and how to format the data values that each grid column contains. + A collection that contains the names of the data columns to exclude when the grid auto-populates columns. + A bitwise combination of the enumeration values that specify methods that are provided for moving between pages of the instance. + The text for the HTML link element that is used to link to the first page of the instance. The flag of the parameter must be set to display this page navigation element. + The text for the HTML link element that is used to link to previous page of the instance. The flag of the parameter must be set to display this page navigation element. + The text for the HTML link element that is used to link to the next page of the instance. The flag of the parameter must be set to display this page navigation element. + The text for the HTML link element that is used to link to the last page of the instance. The flag of the parameter must be set to display this page navigation element. + The number of numeric page links that are provided to nearby pages. The text of each numeric page link contains the page number. The flag of the parameter must be set to display these page navigation elements. + An object that represents a collection of attributes (names and values) to set for the HTML table element that represents the instance. + + + Returns a URL that can be used to display the specified data page of the instance. + A URL that can be used to display the specified data page of the grid. + The index of the page to display. + + + Returns a URL that can be used to sort the instance by the specified column. + A URL that can be used to sort the grid. + The name of the data column to sort by. + + + Gets a value that indicates whether a row in the instance is selected. + true if a row is currently selected; otherwise, false. + + + Returns a value that indicates whether the instance can use Ajax calls to refresh the display. + true if the instance supports Ajax calls; otherwise, false.. + + + Gets the number of pages that the instance contains. + The page count. + + + Gets the full name of the query-string field that is used to specify the current page of the instance. + The full name of the query string field that is used to specify the current page of the grid. + + + Gets or sets the index of the current page of the instance. + The index of the current page. + The property cannot be set because paging is not enabled. + + + Returns the HTML markup that is used to provide the specified paging support for the instance. + The HTML markup that provides paging support for the grid. + A bitwise combination of the enumeration values that specify the methods that are provided for moving between the pages of the grid. The default is the bitwise OR of the and flags. + The text for the HTML link element that navigates to the first page of the grid. + The text for the HTML link element that navigates to the previous page of the grid. + The text for the HTML link element that navigates to the next page of the grid. + The text for the HTML link element that navigates to the last page of the grid. + The number of numeric page links to display. The default is 5. + + + Gets a list that contains the rows that are on the current page of the instance after the grid has been sorted. + The list of rows. + + + Gets the number of rows that are displayed on each page of the instance. + The number of rows that are displayed on each page of the grid. + + + Gets or sets the index of the selected row relative to the current page of the instance. + The index of the selected row relative to the current page. + + + Gets the currently selected row of the instance. + The currently selected row. + + + Gets the full name of the query-string field that is used to specify the selected row of the instance. + The full name of the query string field that is used to specify the selected row of the grid. + + + Gets or sets the name of the data column that the instance is sorted by. + The name of the data column that is used to sort the grid. + + + Gets or sets the direction in which the instance is sorted. + The sort direction. + + + Gets the full name of the query-string field that is used to specify the sort direction of the instance. + The full name of the query string field that is used to specify the sort direction of the grid. + + + Gets the full name of the query-string field that is used to specify the name of the data column that the instance is sorted by. + The full name of the query-string field that is used to specify the name of the data column that the grid is sorted by. + + + Returns the HTML markup that is used to render the instance. + The HTML markup that represents the fully-populated instance. + The name of the CSS class that is used to style the whole table. + The name of the CSS class that is used to style the table header. + The name of the CSS class that is used to style the table footer. + The name of the CSS class that is used to style each table row. + The name of the CSS class that is used to style even-numbered table rows. + The name of the CSS class that is used use to style the selected table row. + The table caption. + true to display the table header; otherwise, false. The default is true. + true to insert additional rows in the last page when there are insufficient data items to fill the last page; otherwise, false. The default is false. Additional rows are populated using the text specified by the parameter. + The text that is used to populate additional rows in the last page when there are insufficient data items to fill the last page. The parameter must be set to true to display these additional rows. + A collection of instances that specify how each column is displayed. This includes which data column is associated with each grid column, and how to format the data values that each grid column contains. + A collection that contains the names of the data columns to exclude when the grid auto-populates columns. + A function that returns the HTML markup that is used to render the table footer. + An object that represents a collection of attributes (names and values) to set for the HTML table element that represents the instance. + + + Gets the total number of rows that the instance contains. + The total number of rows in the grid. This value includes all rows from every page, but does not include the additional rows inserted in the last page when there are insufficient data items to fill the last page. + + + Represents a column in a instance. + + + Initializes a new instance of the class. + + + Gets or sets a value that indicates whether the column can be sorted. + true to indicate that the column can be sorted; otherwise, false. + + + Gets or sets the name of the data item that is associated with the column. + The name of the data item. + + + Gets or sets a function that is used to format the data item that is associated with the column. + The function that is used to format that data item that is associated with the column. + + + Gets or sets the text that is rendered in the header of the column. + The text that is rendered to the column header. + + + Gets or sets the CSS class attribute that is rendered as part of the HTML table cells that are associated with the column. + The CSS class attribute that is applied to cells that are associated with the column. + + + Specifies flags that describe the methods that are provided for moving between the pages of a instance. + + + Indicates that methods for moving to a nearby page by using a page number are provided. + + + Indicates that methods for moving to the next or previous page are provided. + + + Indicates that methods for moving directly to the first or last page are provided. + + + Indicates that all methods for moving between pages are provided. + + + Represents a row in a instance. + + + Initializes a new instance of the class using the specified instance, row value, and index. + The instance that contains the row. + An object that contains a property member for each value in the row. + The index of the row. + + + Returns an enumerator that can be used to iterate through the values of the instance. + An enumerator that can be used to iterate through the values of the row. + + + Returns an HTML element (a link) that users can use to select the row. + The link that users can click to select the row. + The inner text of the link element. If is empty or null, "Select" is used. + + + Returns the URL that can be used to select the row. + The URL that is used to select a row. + + + Returns the value at the specified index in the instance. + The value at the specified index. + The zero-based index of the value in the row to return. + + is less than 0 or greater than or equal to the number of values in the row. + + + Returns the value that has the specified name in the instance. + The specified value. + The name of the value in the row to return. + + is null or empty. + + specifies a value that does not exist. + + + Returns an enumerator that can be used to iterate through a collection. + An enumerator that can be used to iterate through the collection. + + + Returns a string that represents all of the values of the instance. + A string that represents the row's values. + + + Returns the value of a member that is described by the specified binder. + true if the value of the item was successfully retrieved; otherwise, false. + The getter of the bound property member. + When this method returns, contains an object that holds the value of the item described by . This parameter is passed uninitialized. + + + Gets an object that contains a property member for each value in the row. + An object that contains each value in the row as a property. + + + Gets the instance that the row belongs to. + The instance that contains the row. + + + Represents an object that lets you display and manage images in a web page. + + + Initializes a new instance of the class using a byte array to represent the image. + The image. + + + Initializes a new instance of the class using a stream to represent the image. + The image. + + + Initializes a new instance of the class using a path to represent the image location. + The path of the file that contains the image. + + + Adds a watermark image using a path to the watermark image. + The watermarked image. + The path of a file that contains the watermark image. + The width, in pixels, of the watermark image. + The height, in pixels, of the watermark image. + The horizontal alignment for watermark image. Values can be "Left", "Right", or "Center". + The vertical alignment for the watermark image. Values can be "Top", "Middle", or "Bottom". + The opacity for the watermark image, specified as a value between 0 and 100. + The size, in pixels, of the padding around the watermark image. + + + Adds a watermark image using the specified image object. + The watermarked image. + A object. + The width, in pixels, of the watermark image. + The height, in pixels, of the watermark image. + The horizontal alignment for watermark image. Values can be "Left", "Right", or "Center". + The vertical alignment for the watermark image. Values can be "Top", "Middle", or "Bottom". + The opacity for the watermark image, specified as a value between 0 and 100. + The size, in pixels, of the padding around the watermark image. + + + Adds watermark text to the image. + The watermarked image. + The text to use as a watermark. + The color of the watermark text. + The font size of the watermark text. + The font style of the watermark text. + The font type of the watermark text. + The horizontal alignment for watermark text. Values can be "Left", "Right", or "Center". + The vertical alignment for the watermark text. Values can be "Top", "Middle", or "Bottom". + The opacity for the watermark image, specified as a value between 0 and 100. + The size, in pixels, of the padding around the watermark text. + + + Copies the object. + The image. + + + Crops an image. + The cropped image. + The number of pixels to remove from the top. + The number of pixels to remove from the left. + The number of pixels to remove from the bottom. + The number of pixels to remove from the right. + + + Gets or sets the file name of the object. + The file name. + + + Flips an image horizontally. + The flipped image. + + + Flips an image vertically. + The flipped image. + + + Returns the image as a byte array. + The image. + The value of the object. + + + Returns an image that has been uploaded using the browser. + The image. + (Optional) The name of the file that has been posted. If no file name is specified, the first file that was uploaded is returned. + + + Gets the height, in pixels, of the image. + The height. + + + Gets the format of the image (for example, "jpeg" or "png"). + The file format of the image. + + + Resizes an image. + The resized image. + The width, in pixels, of the object. + The height, in pixels, of the object. + true to preserve the aspect ratio of the image; otherwise, false. + true to prevent the enlargement of the image; otherwise, false. + + + Rotates an image to the left. + The rotated image. + + + Rotates an image to the right. + The rotated image. + + + Saves the image using the specified file name. + The image. + The path to save the image to. + The format to use when the image file is saved, such as "gif", or "png". + true to force the correct file-name extension to be used for the format that is specified in ; otherwise, false. If there is a mismatch between the file type and the specified file-name extension, and if is true, the correct extension will be appended to the file name. For example, a PNG file named Photograph.txt is saved using the name Photograph.txt.png. + + + Gets the width, in pixels, of the image. + The width. + + + Renders an image to the browser. + The image. + (Optional) The file format to use when the image is written. + + + Provides a way to construct and send an email message using Simple Mail Transfer Protocol (SMTP). + + + Gets or sets a value that indicates whether Secure Sockets Layer (SSL) is used to encrypt the connection when an email message is sent. + true if SSL is used to encrypt the connection; otherwise, false. + + + Gets or sets the email address of the sender. + The email address of the sender. + + + Gets or sets the password of the sender's email account. + The sender's password. + + + Sends the specified message to an SMTP server for delivery. + The email address of the recipient or recipients. Separate multiple recipients using a semicolon (;). + The subject line for the email message. + The body of the email message. If is true, HTML in the body is interpreted as markup. + (Optional) The email address of the message sender, or null to not specify a sender. The default value is null. + (Optional) The email addresses of additional recipients to send a copy of the message to, or null if there are no additional recipients. Separate multiple recipients using a semicolon (;). The default value is null. + (Optional) A collection of file names that specifies the files to attach to the email message, or null if there are no files to attach. The default value is null. + (Optional) true to specify that the email message body is in HTML format; false to indicate that the body is in plain-text format. The default value is true. + (Optional) A collection of headers to add to the normal SMTP headers included in this email message, or null to send no additional headers. The default value is null. + (Optional) The email addresses of additional recipients to send a "blind" copy of the message to, or null if there are no additional recipients. Separate multiple recipients using a semicolon (;). The default value is null. + (Optional) The encoding to use for the body of the message. Possible values are property values for the class, such as . The default value is null. + (Optional) The encoding to use for the header of the message. Possible values are property values for the class, such as . The default value is null. + (Optional) A value ("Normal", "Low", "High") that specifies the priority of the message. The default is "Normal". + (Optional) The email address that will be used when the recipient replies to the message. The default value is null, which indicates that the reply address is the value of the From property. + + + Gets or sets the port that is used for SMTP transactions. + The port that is used for SMTP transactions. + + + Gets or sets the name of the SMTP server that is used to transmit the email message. + The SMTP server. + + + Gets or sets a value that indicates whether the default credentials are sent with the requests. + true if credentials are sent with the email message; otherwise, false. + + + Gets or sets the name of email account that is used to send email. + The name of the user account. + + + \ No newline at end of file diff --git a/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Deployment.dll b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Deployment.dll new file mode 100644 index 000000000..89e7d2745 Binary files /dev/null and b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Deployment.dll differ diff --git a/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Deployment.xml b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Deployment.xml new file mode 100644 index 000000000..ac6bf5985 --- /dev/null +++ b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Deployment.xml @@ -0,0 +1,41 @@ + + + + System.Web.WebPages.Deployment + + + + Provides a registration point for pre-application start code for Web Pages deployment. + + + Registers pre-application start code for Web Pages deployment. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + The path of the root directory for the application. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + \ No newline at end of file diff --git a/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Razor.dll b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Razor.dll new file mode 100644 index 000000000..547c6e04e Binary files /dev/null and b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Razor.dll differ diff --git a/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Razor.xml b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Razor.xml new file mode 100644 index 000000000..cfd5f0646 --- /dev/null +++ b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.Razor.xml @@ -0,0 +1,224 @@ + + + + System.Web.WebPages.Razor + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Provides configuration system support for the host configuration section. + + + Initializes a new instance of the class. + + + Gets or sets the host factory. + The host factory. + + + Represents the name of the configuration section for a Razor host environment. + + + Provides configuration system support for the pages configuration section. + + + Initializes a new instance of the class. + + + Gets or sets the collection of namespaces to add to Web Pages pages in the current application. + The collection of namespaces. + + + Gets or sets the name of the page base type class. + The name of the page base type class. + + + Represents the name of the configuration section for Razor pages. + + + Provides configuration system support for the system.web.webPages.razor configuration section. + + + Initializes a new instance of the class. + + + Represents the name of the configuration section for Razor Web section. Contains the static, read-only string "system.web.webPages.razor". + + + Gets or sets the host value for system.web.webPages.razor section group. + The host value. + + + Gets or sets the value of the pages element for the system.web.webPages.razor section. + The pages element value. + + + \ No newline at end of file diff --git a/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.dll b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.dll new file mode 100644 index 000000000..60e9abab5 Binary files /dev/null and b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.dll differ diff --git a/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.xml b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.xml new file mode 100644 index 000000000..83a7fae6a --- /dev/null +++ b/packages/Microsoft.AspNet.WebPages.2.0.20710.0/lib/net40/System.Web.WebPages.xml @@ -0,0 +1,2624 @@ + + + + System.Web.WebPages + + + + Helps prevent malicious scripts from submitting forged page requests. + + + Adds an authenticating token to a form to help protect against request forgery. + Returns a string that contains the encrypted token value in a hidden HTML field. + The current object is null. + + + Adds an authenticating token to a form to help protect against request forgery and lets callers specify authentication details. + Returns the encrypted token value in a hidden HTML field. + The HTTP context data for a request. + An optional string of random characters (such as Z*7g1&p4) that is used to add complexity to the encryption for extra safety. The default is null. + The domain of a web application that a request is submitted from. + The virtual root path of a web application that a request is submitted from. + + is null. + + + + Validates that input data from an HTML form field comes from the user who submitted the data. + The current value is null. + The HTTP cookie token that accompanies a valid request is missing-or-The form token is missing.-or-The form token value does not match the cookie token value.-or-The form token value does not match the cookie token value. + + + + Validates that input data from an HTML form field comes from the user who submitted the data and lets callers specify additional validation details. + The HTTP context data for a request. + An optional string of random characters (such as Z*7g1&p4) that is used to decrypt an authentication token created by the class. The default is null. + The current value is null. + The HTTP cookie token that accompanies a valid request is missing.-or-The form token is missing.-or-The form token value does not match the cookie token value.-or-The form token value does not match the cookie token value.-or-The value supplied does not match the value that was used to create the form token. + + + Provides programmatic configuration for the anti-forgery token system. + + + Gets a data provider that can provide additional data to put into all generated tokens and that can validate additional data in incoming tokens. + The data provider. + + + Gets or sets the name of the cookie that is used by the anti-forgery system. + The cookie name. + + + Gets or sets a value that indicates whether the anti-forgery cookie requires SSL in order to be returned to the server. + true if SSL is required to return the anti-forgery cookie to the server; otherwise, false. + + + Gets or sets a value that indicates whether the anti-forgery system should skip checking for conditions that might indicate misuse of the system. + true if the anti-forgery system should not check for possible misuse; otherwise, false. + + + If claims-based authorization is in use, gets or sets the claim type from the identity that is used to uniquely identify the user. + The claim type. + + + Provides a way to include or validate custom data for anti-forgery tokens. + + + Provides additional data to store for the anti-forgery tokens that are generated during this request. + The supplemental data to embed in the anti-forgery token. + Information about the current request. + + + Validates additional data that was embedded inside an incoming anti-forgery token. + true if the data is valid, or false if the data is invalid. + Information about the current request. + The supplemental data that was embedded in the token. + + + Provides access to unvalidated form values in the object. + + + Gets a collection of unvalidated form values that were posted from the browser. + An unvalidated collection of form values. + + + Gets the specified unvalidated object from the collection of posted values in the object. + The specified member, or null if the specified item is not found. + The name of the collection member to get. + + + Gets a collection of unvalidated query-string values. + A collection of unvalidated query-string values. + + + Excludes fields of the Request object from being checked for potentially unsafe HTML markup and client script. + + + Returns a version of form values, cookies, and query-string variables without checking them first for HTML markup and client script. + An object that contains unvalidated versions of the form and query-string values. + The object that contains values to exclude from request validation. + + + Returns a value from the specified form field, cookie, or query-string variable without checking it first for HTML markup and client script. + A string that contains unvalidated text from the specified field, cookie, or query-string value. + The object that contains values to exclude from validation. + The name of the field to exclude from validation. can refer to a form field, to a cookie, or to the query-string variable. + + + Returns all values from the Request object (including form fields, cookies, and the query string) without checking them first for HTML markup and client script. + An object that contains unvalidated versions of the form, cookie, and query-string values. + The object that contains values to exclude from validation. + + + Returns the specified value from the Request object without checking it first for HTML markup and client script. + A string that contains unvalidated text from the specified field, cookie, or query-string value. + The object that contains values to exclude from validation. + The name of the field to exclude from validation. can refer to a form field, to a cookie, or to the query-string variable. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + The message. + The inner exception. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + The error message. + The other. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + The error message. + The minimum value. + The maximum value. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Contains classes and properties that are used to create HTML elements. This class is used to write helpers, such as those found in the namespace. + + + Creates a new tag that has the specified tag name. + The tag name without the "<", "/", or ">" delimiters. + + is null or empty. + + + Adds a CSS class to the list of CSS classes in the tag. + The CSS class to add. + + + Gets the collection of attributes. + The collection of attributes. + + + Replaces each invalid character in the tag ID with a valid HTML character. + The sanitized tag ID, or null if is null or empty, or if does not begin with a letter. + The ID that might contain characters to replace. + + + Replaces each invalid character in the tag ID with the specified replacement string. + The sanitized tag ID, or null if is null or empty, or if does not begin with a letter. + The ID that might contain characters to replace. + The replacement string. + + is null. + + + Generates a sanitized ID attribute for the tag by using the specified name. + The name to use to generate an ID attribute. + + + Gets or sets a string that can be used to replace invalid HTML characters. + The string to use to replace invalid HTML characters. + + + Gets or sets the inner HTML value for the element. + The inner HTML value for the element. + + + Adds a new attribute to the tag. + The key for the attribute. + The value of the attribute. + + + Adds a new attribute or optionally replaces an existing attribute in the opening tag. + The key for the attribute. + The value of the attribute. + true to replace an existing attribute if an attribute exists that has the specified value, or false to leave the original attribute unchanged. + + + Adds new attributes to the tag. + The collection of attributes to add. + The type of the key object. + The type of the value object. + + + Adds new attributes or optionally replaces existing attributes in the tag. + The collection of attributes to add or replace. + For each attribute in , true to replace the attribute if an attribute already exists that has the same key, or false to leave the original attribute unchanged. + The type of the key object. + The type of the value object. + + + Sets the property of the element to an HTML-encoded version of the specified string. + The string to HTML-encode. + + + Gets the tag name for this tag. + The name. + + + Renders the element as a element. + + + Renders the HTML tag by using the specified render mode. + The rendered HTML tag. + The render mode. + + + Enumerates the modes that are available for rendering HTML tags. + + + Represents the mode for rendering normal text. + + + Represents the mode for rendering an opening tag (for example, <tag>). + + + Represents the mode for rendering a closing tag (for example, </tag>). + + + Represents the mode for rendering a self-closing tag (for example, <tag />). + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Contains methods to register assemblies as application parts. + + + Initializes a new instance of the class by using the specified assembly and root virtual path. + The assembly. + The root virtual path. + + is null or empty. + + + Resolves a path to the specified assembly or resource within an assembly by using the specified base virtual path and specified virtual path. + The path of the assembly or resource. + The assembly. + The base virtual path. + The virtual path. + + is not registered. + + + Adds an assembly and all web pages within the assembly to the list of available application parts. + The application part. + + is already registered. + + + Provides objects and methods that are used to execute and render ASP.NET Web Pages application start pages (_AppStart.cshtml or _AppStart.vbhtml files). + + + Initializes a new instance of the class. + + + Gets the HTTP application object that references this application startup page. + The HTTP application object that references this application startup page. + + + The prefix that is applied to all keys that are added to the cache by the application start page. + + + Gets the object that represents context data that is associated with this page. + The current context data. + + + Returns the text writer instance that is used to render the page. + The text writer. + + + Gets the output from the application start page as an HTML-encoded string. + The output from the application start page as an HTML-encoded string. + + + Gets the text writer for the page. + The text writer for the page. + + + The path to the application start page. + + + Gets or sets the virtual path of the page. + The virtual path. + + + Writes the string representation of the specified object as an HTML-encoded string. + The object to encode and write. + + + Writes the specified object as an HTML-encoded string. + The helper result to encode and write. + + + Writes the specified object without HTML encoding. + The object to write. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Provides a way to specify custom browser (user agent) information. + + + Removes any overridden user agent for the current request. + The current context. + + + Returns the browser capabilities object for the overridden browser capabilities or for the actual browser if no override has been specified. + The browser capabilities. + The current context. + + + Returns the overridden user agent value or the actual user agent string if no override has been specified. + The user agent string + The current context. + + + Gets a string that varies based on the type of the browser. + A string that identifies the browser. + The current context. + + + Gets a string that varies based on the type of the browser. + A string that identifies the browser. + The current context base. + + + Overrides the request's actual user agent value using the specified user agent. + The current context. + The user agent to use. + + + Overrides the request's actual user agent value using the specified browser override information. + The current context. + One of the enumeration values that represents the browser override information to use. + + + Specifies browser types that can be defined for the method. + + + Specifies a desktop browser. + + + Specifies a mobile browser. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Represents a base class for pages that is used when ASP.NET compiles a .cshtml or .vbhtml file and that exposes page-level and application-level properties and methods. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Gets the application-state data as a object that callers can use to create and access custom application-scoped properties. + The application-state data. + + + Gets a reference to global application-state data that can be shared across sessions and requests in an ASP.NET application. + The application-state data. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Gets the cache object for the current application domain. + The cache object. + + + Gets the object that is associated with a page. + The current context data. + + + Gets the current page for this helper page. + The current page. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Builds an absolute URL from an application-relative URL by using the specified parameters. + The absolute URL. + The initial path to use in the URL. + Additional path information, such as folders and subfolders. + + + Gets the object that is associated with a page. + An object that supports rendering HTML form controls in a page. + + + Gets a value that indicates whether Ajax is being used during the request of the web page. + true if Ajax is being used during the request; otherwise, false. + + + Gets a value that indicates whether the current request is a post (submitted using the HTTP POST verb). + true if the HTTP verb is POST; otherwise, false. + + + Gets the model that is associated with a page. + An object that represents a model that is associated with the view data for a page. + + + Gets the state data for the model that is associated with a page. + The state of the model. + + + Gets property-like access to page data that is shared between pages, layout pages, and partial pages. + An object that contains page data. + + + Gets and sets the HTTP context for the web page. + The HTTP context for the web page. + + + Gets array-like access to page data that is shared between pages, layout pages, and partial pages. + An object that provides array-like access to page data. + + + Gets the object for the current HTTP request. + An object that contains the HTTP values that were sent by a client during a web request. + + + Gets the object for the current HTTP response. + An object that contains the HTTP-response information from an ASP.NET operation. + + + Gets the object that provides methods that can be used as part of web-page processing. + The object. + + + Gets the object for the current HTTP request. + The object for the current HTTP request. + + + Gets data related to the URL path. + Data related to the URL path. + + + Gets a user value based on the HTTP context. + A user value based on the HTTP context. + + + Gets the virtual path of the page. + The virtual path. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Defines methods that are implemented by virtual path handler factories. + + + Creates a handler factory for the specified virtual path. + A handler factory for the specified virtual path. + The virtual path. + + + Determines whether the specified virtual path is associated with a handler factory. + true if a handler factory exists for the specified virtual path; otherwise, false. + The virtual path. + + + Defines methods to implement an executor class that can execute the code on a web page. + + + Executes the code on the specified web page. + true if the executor took over execution of the web page; otherwise, false. + The web page. + + + Represents a path attribute for a web page class. + + + Initializes a new instance of the class by using the specified virtual path. + The virtual path. + + + Gets the virtual path of the current web page. + The virtual path. + + + Provides a registration point for pre-application start code for web pages. + + + Registers pre-application start code for web pages. + + + Defines extension methods for the class. + + + Determines whether the specified URL references the local computer. + true if the specified URL references the local computer; otherwise, false. + The HTTP request object. + The URL to test. + + + Serves as the abstract base class for the validation helper classes. + + + Initializes a new instance of the derived class and specifies the name of the HTML element that is being validated. + The name (value of the name attribute) of the user input element to validate. + + + Initializes a new instance of the derived class, registers the specified string as the error message to display if no value is supplied, and specifies whether the method can use unvalidated data. + The error message. + true to use unvalidated user input; false to reject unvalidated data. This parameter is set to true by calling methods in circumstances when the actual value of the user input is not important, such as for required fields. + + + When implemented in a derived class, gets a container for client validation for the required field. + The container. + + + Returns the HTTP context of the current request. + The context. + The validation context. + + + Returns the value to validate. + The value to validate. + The current request. + The name of the field from the current request to validate. + + + Returns a value that indicates whether the specified value is valid. + true if the value is valid; otherwise, false. + The current context. + The value to validate. + + + Performs the validation test. + The result of the validation test. + The context. + + + Defines extension methods for the base class. + + + Configures the cache policy of an HTTP response instance. + The HTTP response instance. + The length of time, in seconds, before items expire from the cache. + true to indicate that items expire from the cache on a sliding basis; false to indicate that items expire when they reach the predefined expiration time. + The list of all parameters that can be received by a GET or POST operation that affect caching. + The list of all HTTP headers that affect caching. + The list of all Content-Encoding headers that affect caching. + One of the enumeration values that specifies how items are cached. + + + Sets the HTTP status code of an HTTP response using the specified integer value. + The HTTP response instance. + The HTTP status code. + + + Sets the HTTP status code of an HTTP response using the specified HTTP status code enumeration value. + The HTTP response instance. + The HTTP status code + + + Writes a sequence of bytes that represent binary content of an unspecified type to the output stream of an HTTP response. + The HTTP response instance. + An array that contains the bytes to write. + + + Writes a sequence of bytes that represent binary content of the specified MIME type to the output stream of an HTTP response. + The receiving HTTP response instance. + An array that contains the bytes to write. + The MIME type of the binary content. + + + Provides a delegate that represents one or more methods that are called when a content section is written. + + + Provides methods and properties that are used to render start pages that use the Razor view engine. + + + Initializes a new instance of the class. + + + Gets or sets the child page of the current start page. + The child page of the current start page. + + + Gets or sets the context of the page. + The context of the page. + + + Calls the methods that are used to execute the developer-written code in the _PageStart start page and in the page. + + + Returns the text writer instance that is used to render the page. + The text writer. + + + Returns the initialization page for the specified page. + The _AppStart page if the _AppStart page exists. If the _AppStart page cannot be found, returns the _PageStart page if a _PageStart page exists. If the _AppStart and _PageStart pages cannot be found, returns . + The page. + The file name of the page. + The collection of file-name extensions that can contain ASP.NET Razor syntax, such as "cshtml" and "vbhtml". + Either or are null. + + is null or empty. + + + Gets or sets the path of the layout page for the page. + The path of the layout page for the page. + + + Gets property-like access to page data that is shared between pages, layout pages, and partial pages. + An object that contains page data. + + + Gets array-like access to page data that is shared between pages, layout pages, and partial pages. + An object that provides array-like access to page data. + + + Renders the page. + The HTML markup that represents the web page. + The path of the page to render. + Additional data that is used to render the page. + + + Executes the developer-written code in the page. + + + Writes the string representation of the specified object as an HTML-encoded string. + The object to encode and write. + + + Writes the string representation of the specified object as an HTML-encoded string. + The helper result to encode and write. + + + Writes the string representation of the specified object without HTML encoding. + The object to write. + + + Provides utility methods for converting string values to other data types. + + + Converts a string to a strongly typed value of the specified data type. + The converted value. + The value to convert. + The data type to convert to. + + + Converts a string to the specified data type and specifies a default value. + The converted value. + The value to convert. + The value to return if is null. + The data type to convert to. + + + Converts a string to a Boolean (true/false) value. + The converted value. + The value to convert. + + + Converts a string to a Boolean (true/false) value and specifies a default value. + The converted value. + The value to convert. + The value to return if is null or is an invalid value. + + + Converts a string to a value. + The converted value. + The value to convert. + + + Converts a string to a value and specifies a default value. + The converted value. + The value to convert. + The value to return if is null or is an invalid value. The default is the minimum time value on the system. + + + Converts a string to a number. + The converted value. + The value to convert. + + + Converts a string to a number and specifies a default value. + The converted value. + The value to convert. + The value to return if is null or invalid. + + + Converts a string to a number. + The converted value. + The value to convert. + + + Converts a string to a number and specifies a default value. + The converted value. + The value to convert. + The value to return if is null. + + + Converts a string to an integer. + The converted value. + The value to convert. + + + Converts a string to an integer and specifies a default value. + The converted value. + The value to convert. + The value to return if is null or is an invalid value. + + + Checks whether a string can be converted to the specified data type. + true if can be converted to the specified type; otherwise, false. + The value to test. + The data type to convert to. + + + Checks whether a string can be converted to the Boolean (true/false) type. + true if can be converted to the specified type; otherwise, false. + The string value to test. + + + Checks whether a string can be converted to the type. + true if can be converted to the specified type; otherwise, false. + The string value to test. + + + Checks whether a string can be converted to the type. + true if can be converted to the specified type; otherwise, false. + The string value to test. + + + Checks whether a string value is null or empty. + true if is null or is a zero-length string (""); otherwise, false. + The string value to test. + + + Checks whether a string can be converted to the type. + true if can be converted to the specified type; otherwise, false. + The string value to test. + + + Checks whether a string can be converted to an integer. + true if can be converted to the specified type; otherwise, false. + The string value to test. + + + Contains methods and properties that describe a file information template. + + + Initializes a new instance of the class by using the specified virtual path. + The virtual path. + + + Gets the virtual path of the web page. + The virtual path. + + + Represents a last-in-first-out (LIFO) collection of template files. + + + Returns the current template file from the specified HTTP context. + The template file, removed from the top of the stack. + The HTTP context that contains the stack that stores the template files. + + + Removes and returns the template file that is at the top of the stack in the specified HTTP context. + The template file, removed from the top of the stack. + The HTTP context that contains the stack that stores the template files. + + is null. + + + Inserts a template file at the top of the stack in the specified HTTP context. + The HTTP context that contains the stack that stores the template files. + The template file to push onto the specified stack. + + or are null. + + + Implements validation for user input. + + + Registers a list of user input elements for validation. + The names (value of the name attribute) of the user input elements to validate. + The type of validation to register for each user input element specified in . + + + Registers a user input element for validation. + The name (value of the name attribute) of the user input element to validate. + A list of one or more types of validation to register. + + + + Renders an attribute that references the CSS style definition to use when validation messages for the user input element are rendered. + The attribute. + The name (value of the name attribute) of the user input element to validate. + + + Renders attributes that enable client-side validation for an individual user input element. + The attributes to render. + The name (value of the name attribute) of the user input element to validate. + + + Gets the name of the current form. This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + The name. + + + Returns a list of current validation errors, , and optionally lets you specify a list of fields to check. + The list of errors. + Optional. The names (value of the name attribute) of the user input elements to get error information for. You can specify any number of element names, separated by commas. If you do not specify a list of fields, the method returns errors for all fields. + + + Gets the name of the class that is used to specify the appearance of error-message display when errors have occurred. This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + The name. + + + Determines whether the contents of the user input fields pass validation checks, and optionally lets you specify a list of fields to check. + true if all specified field or fields pass validation checks; false if any field contains a validation error. + Optional. The names (value of the name attribute) of the user input elements to check for validation errors. You can specify any number of element names, separated by commas. If you do not specify a list of fields, the method checks all elements that are registered for validation. + + + Registers the specified field as one that requires user entry. + The name (value of the name attribute) of the user input element to validate. + + + Registers the specified field as one that requires user entry and registers the specified string as the error message to display if no value is supplied. + The name (value of the name attribute) of the user input element to validate. + The error message. + + + Registers the specified fields as ones that require user entry. + The names (value of the name attribute) of the user input elements to validate. You can specify any number of element names, separated by commas. + + + Performs validation on elements registered for validation, and optionally lets you specify a list of fields to check. + The list of errors for the specified fields, if any validation errors occurred. + Optional. The names (value of the name attribute) of the user input elements to validate. You can specify any number of element names, separated by commas. If you do not specify a list, the method validates all registered elements. + + + Gets the name of the class that is used to specify the appearance of error-message display when errors have occurred. This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + The name. + + + Defines validation tests that can be registered using the method. + + + Initializes a new instance of the class. + + + Defines a validation test that tests whether a value can be treated as a date/time value. + The validation test. + The error message to display if validation fails. + + + Defines a validation test that tests whether a value can be treated as a decimal number. + The validation test. + The error message to display if validation fails. + + + Defines a validation test that test user input against the value of another field. + The validation test. + The error message to display if validation fails. + + + Defines a validation test that tests whether a value can be treated as a floating-point number. + The validation test. + The error message to display if validation fails. + + + Defines a validation test that tests whether a value can be treated as an integer. + The validation test. + The error message to display if validation fails. + + + Defines a validation test that tests whether a decimal number falls within a specific range. + The validation test. + The minimum value. The default is 0. + The maximum value. + The error message to display if validation fails. + + + Defines a validation test that tests whether an integer value falls within a specific range. + The validation test. + The minimum value. The default is 0. + The maximum value. + The error message to display if validation fails. + + + Defines a validation test that tests a value against a pattern specified as a regular expression. + The validation test. + The regular expression to use to test the user input. + The error message to display if validation fails. + + + Defines a validation test that tests whether a value has been provided. + The validation test. + The error message to display if validation fails. + + + Defines a validation test that tests the length of a string. + The validation test. + The maximum length of the string. + The minimum length of the string. The default is 0. + The error message to display if validation fails. + + + Defines a validation test that tests whether a value is a well-formed URL. + The validation test. + The error message to display if validation fails. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Represents an ASP.NET Razor page. + + + Called from a derived class to create a new instance that is based on the class. + + + Gets or sets the object that is associated with a page. + The current context data. + + + Executes the code in a set of dependent pages. + + + Gets the object that is associated with a page. + An object that can render HTML form controls in a page. + + + Initializes an object that inherits from the class. + + + Gets the model that is associated with a page. + An object that represents a model that is associated with the view data for a page. + + + Gets the state of the model that is associated with a page. + The state of the model. + + + Adds a class to a list of classes that handle page execution and that implement custom features for pages. + The class to add. + + + Renders a content page. + An object that can write the output of the page. + The path of the page to render. + Data to pass to the page. + + + Gets the validation helper for the current page context. + The validation helper. + + + Serves as the base class for classes that represent an ASP.NET Razor page. + + + Initializes the class for use by an inherited class instance. This constructor can only be called by an inherited class. + + + When overridden in a derived class, configures the current web page based on the configuration of the parent web page. + The parent page from which to read configuration information. + + + Creates a new instance of the class by using the specified virtual path. + The new object. + The virtual path to use to create the instance. + + + Called by content pages to create named content sections. + The name of the section to create. + The type of action to take with the new section. + + + Executes the code in a set of dependent web pages. + + + Executes the code in a set of dependent web pages by using the specified parameters. + The context data for the page. + The writer to use to write the executed HTML. + + + Executes the code in a set of dependent web pages by using the specified context, writer, and start page. + The context data for the page. + The writer to use to write the executed HTML. + The page to start execution in the page hierarchy. + + + Returns the text writer instance that is used to render the page. + The text writer. + + + Initializes the current page. + + + Returns a value that indicates whether the specified section is defined in the page. + true if the specified section is defined in the page; otherwise, false. + The name of the section to search for. + + + Gets or sets the path of a layout page. + The path of the layout page. + + + Gets the current object for the page. + The object. + + + Gets the stack of objects for the current page context. + The objects. + + + Provides property-like access to page data that is shared between pages, layout pages, and partial pages. + An object that contains page data. + + + Provides array-like access to page data that is shared between pages, layout pages, and partial pages. + A dictionary that contains page data. + + + Returns and removes the context from the top of the instance. + + + Inserts the specified context at the top of the instance. + The page context to push onto the instance. + The writer for the page context. + + + In layout pages, renders the portion of a content page that is not within a named section. + The HTML content to render. + + + Renders the content of one page within another page. + The HTML content to render. + The path of the page to render. + (Optional) An array of data to pass to the page being rendered. In the rendered page, these parameters can be accessed by using the property. + + + In layout pages, renders the content of a named section. + The HTML content to render. + The section to render. + The section was already rendered.-or-The section was marked as required but was not found. + + + In layout pages, renders the content of a named section and specifies whether the section is required. + The HTML content to render. + The section to render. + true to specify that the section is required; otherwise, false. + + + Writes the specified object as an HTML-encoded string. + The object to encode and write. + + + Writes the specified object as an HTML-encoded string. + The helper result to encode and write. + + + Writes the specified object without HTML-encoding it first. + The object to write. + + + Contains data that is used by a object to reference details about the web application, the current HTTP request, the current execution context, and page-rendering data. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using the specified context, page, and model. + The HTTP request context data to associate with the page context. + The page data to share between pages, layout pages, and partial pages. + The model to associate with the view data. + + + Gets a reference to the current object that is associated with a page. + The current page context object. + + + Gets the model that is associated with a page. + An object that represents a model that is associated with the view data for a page. + + + Gets the object that is associated with a page. + The object that renders the page. + + + Gets the page data that is shared between pages, layout pages, and partial pages. + A dictionary that contains page data. + + + Provides objects and methods that are used to execute and render ASP.NET pages that include Razor syntax. + + + Initializes the class for use by an inherited class instance. This constructor can only be called by an inherited class. + + + Gets the application-state data as a object that callers can use to create and access custom application-scoped properties. + The application-state data. + + + Gets a reference to global application-state data that can be shared across sessions and requests in an ASP.NET application. + The application-state data. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + When overridden in a derived class, gets or sets the object that is associated with a page. + The current context data. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Executes the server code in the current web page that is marked using Razor syntax. + + + Returns the text writer instance that is used to render the page. + The text writer. + + + Builds an absolute URL from an application-relative URL by using the specified parameters. + The absolute URL. + The initial path to use in the URL. + Additional path information, such as folders and subfolders. + + + Returns a normalized path from the specified path. + The normalized path. + The path to normalize. + + + Gets or sets the virtual path of the page. + The virtual path. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Writes the string representation of the specified object as an HTML-encoded string. + The object to encode and write. + + + Writes the specified object as an HTML-encoded string. + The helper result to encode and write. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Writes the specified object without HTML encoding. + The object to write. + + + Writes the specified object to the specified instance without HTML encoding. + The text writer. + The object to write. + + + Writes the specified object as an HTML-encoded string to the specified text writer. + The text writer. + The object to encode and write. + + + Writes the specified object as an HTML-encoded string to the specified text writer. + The text writer. + The helper result to encode and write. + + + Provides methods and properties that are used to process specific URL extensions. + + + Initializes a new instance of the class by using the specified web page. + The web page to process. + + is null. + + + Creates a new handler object from the specified virtual path. + A object for the specified virtual path. + The virtual path to use to create the handler. + + + Gets or sets a value that indicates whether web page response headers are disabled. + true if web page response headers are disabled; otherwise, false. + + + Returns a list of file name extensions that the current instance can process. + A read-only list of file name extensions that are processed by the current instance. + + + Gets a value that indicates whether another request can use the instance. + true if the instance is reusable; otherwise, false. + + + Processes the web page by using the specified context. + The context to use when processing the web page. + + + Adds a file name extension to the list of extensions that are processed by the current instance. + The extension to add, without a leading period. + + + The HTML tag name (X-AspNetWebPages-Version) for the version of the ASP.NET Web Pages specification that is used by this web page. + + + Provides methods and properties that are used to render pages that use the Razor view engine. + + + Initializes a new instance of the class. + + + When overridden in a derived class, gets the cache object for the current application domain. + The cache object. + + + When overridden in a derived class, gets or sets the culture for the current thread. + The culture for the current thread. + + + Gets the display mode for the request. + The display mode. + + + When overridden in a derived class, calls the methods that are used to initialize the page. + + + When overridden in a derived class, get a value that indicates whether Ajax is being used during the request of the web page. + true if Ajax is being used during the request; otherwise, false. + + + When overridden in a derived class, returns a value that indicates whether the HTTP data transfer method used by the client to request the web page is a POST request. + true if the HTTP verb is "POST"; otherwise, false. + + + When overridden in a derived class, gets or sets the path of a layout page. + The path of a layout page. + + + When overridden in a derived class, provides property-like access to page data that is shared between pages, layout pages, and partial pages. + An object that contains page data. + + + When overridden in a derived class, gets the HTTP context for the web page. + The HTTP context for the web page. + + + When overridden in a derived class, provides array-like access to page data that is shared between pages, layout pages, and partial pages. + An object that provides array-like access to page data. + + + Gets profile information for the current request context. + The profile information. + + + When overridden in a derived class, renders a web page. + The markup that represents the web page. + The path of the page to render. + Additional data that is used to render the page. + + + When overridden in a derived class, gets the object for the current HTTP request. + An object that contains the HTTP values sent by a client during a web request. + + + When overridden in a derived class, gets the object for the current HTTP response. + An object that contains the HTTP response information from an ASP.NET operation. + + + When overridden in a derived class, gets the object that provides methods that can be used as part of web-page processing. + The object. + + + When overridden in a derived class, gets the object for the current HTTP request. + Session data for the current request. + + + When overridden in a derived class, gets information about the currently executing file. + Information about the currently executing file. + + + When overridden in a derived class, gets or sets the current culture used by the Resource Manager to look up culture-specific resources at run time. + The current culture used by the Resource Manager. + + + When overridden in a derived class, gets data related to the URL path. + Data related to the URL path. + + + When overridden in a derived class, gets a user value based on the HTTP context. + A user value based on the HTTP context. + + + Provides support for rendering HTML form controls and performing form validation in a web page. + + + Returns an HTML-encoded string that represents the specified object by using a minimal encoding that is suitable only for HTML attributes that are enclosed in quotation marks. + An HTML-encoded string that represents the object. + The object to encode. + + + Returns an HTML-encoded string that represents the specified string by using a minimal encoding that is suitable only for HTML attributes that are enclosed in quotation marks. + An HTML-encoded string that represents the original string. + The string to encode + + + Returns an HTML check box control that has the specified name. + The HTML markup that represents the check box control. + The value to assign to the name attribute of the HTML control element. + + is null or empty. + + + Returns an HTML check box control that has the specified name and default checked status. + The HTML markup that represents the check box control. + The value to assign to the name attribute of the HTML control element. + true to indicate that the checked attribute is set to checked; otherwise, false. + + is null or empty. + + + Returns an HTML check box control that has the specified name, default checked status, and custom attributes defined by an attribute dictionary. + The HTML markup that represents the check box control. + The value to assign to the name attribute of the HTML control element. + true to indicate that the checked attribute is set to checked; otherwise, false. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML check box control that has the specified name, default checked status, and custom attributes defined by an attribute object. + The HTML markup that represents the check box control. + The value to assign to the name attribute of the HTML control element. + true to indicate that the checked attribute is set to checked; otherwise, false. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML check box control that has the specified name and custom attributes defined by an attribute dictionary. + The HTML markup that represents the check box control. + The value to assign to the name attribute of the HTML control element. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML check box control that has the specified name and custom attributes defined by an attribute object. + The HTML markup that represents the check box control. + The value to assign to the name attribute of the HTML control element. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML drop-down list control that has the specified name and that contains the specified list items. + The HTML markup that represents the drop-down list control. + The value to assign to the name attribute of the HTML select element. + A list of instances that are used to populate the list. + + is null or empty. + + + Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items. + The HTML markup that represents the drop-down list control. + The value to assign to the name attribute of the HTML select element. + A list of instances that are used to populate the list. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items. + The HTML markup that represents the drop-down list control. + The value to assign to the name attribute of the HTML select element. + A list of instances that are used to populate the list. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML drop-down list control that has the specified name, and that contains the specified list items and default item. + The HTML markup that represents the drop-down list control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list. + + is null or empty. + + + Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items and default item. + The HTML markup that represents the drop-down list control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items and default item. + The HTML markup that represents the drop-down list control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML drop-down list control that has the specified name, custom attributes defined by an attribute dictionary, and default selection, and that contains the specified list items and default item. + The HTML markup that represents the drop-down list control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list. + The value that specifies the item in the list that is selected by default. The selected item is the first item in the list whose value matches the parameter (or whose text matches, if there is no value.) + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML drop-down list control that has the specified name, custom attributes defined by an attribute object, and default selection, and that contains the specified list items and default item. + The HTML markup that represents the drop-down list control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list. + The value that specifies the item in the list that is selected by default. The item that is selected is the first item in the list that has a matching value, or that matches the items displayed text if the item has no value. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML-encoded string that represents the specified object by using a full encoding that is suitable for arbitrary HTML. + An HTML-encoded string that represents the object. + The object to encode. + + + Returns an HTML-encoded string that represents the specified string by using a full encoding that is suitable for arbitrary HTML. + An HTML-encoded string that represents the original string. + The string to encode. + + + Returns an HTML hidden control that has the specified name. + The HTML markup that represents the hidden control. + The value to assign to the name attribute of the HTML control element. + + is null or empty. + + + Returns an HTML hidden control that has the specified name and value. + The HTML markup that represents the hidden control. + The value to assign to the name attribute of the HTML control element. + The value to assign to the value attribute of the element. + + is null or empty. + + + Returns an HTML hidden control that has the specified name, value, and custom attributes defined by an attribute dictionary. + The HTML markup that represents the hidden control. + The value to assign to the name attribute of the HTML control element. + The value to assign to the value attribute of the element. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML hidden control that has the specified name, value, and custom attributes defined by an attribute object. + The HTML markup that represents the hidden control. + The value to assign to the name attribute of the HTML control element. + The value to assign to the value attribute of the element. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Gets or sets the character that is used to replace the dot (.) in the id attribute of rendered form controls. + The character that is used to replace the dot in the id attribute of rendered form controls. The default is an underscore (_). + + + Returns an HTML label that displays the specified text. + The HTML markup that represents the label. + The text to display. + + is null or empty. + + + Returns an HTML label that displays the specified text and that has the specified custom attributes. + The HTML markup that represents the label. + The text to display. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML label that displays the specified text and that has the specified for attribute. + The HTML markup that represents the label. + The text to display. + The value to assign to the for attribute of the HTML control element. + + is null or empty. + + + Returns an HTML label that displays the specified text, and that has the specified for attribute and custom attributes defined by an attribute dictionary. + The HTML markup that represents the label. + The text to display. + The value to assign to the for attribute of the HTML control element. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML label that displays the specified text, and that has the specified for attribute and custom attributes defined by an attribute object. + The HTML markup that represents the label. + The text to display. + The value to assign to the for attribute of the HTML control element. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML list box control that has the specified name and that contains the specified list items. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + A list of instances that are used to populate the list. + + is null or empty. + + + Returns an HTML list box control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + A list of instances that are used to populate the list. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML list box control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + A list of instances that are used to populate the list. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML list box control that has the specified name, size, list items, and default selections, and that specifies whether multiple selections are enabled. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + A list of instances that are used to populate the list. + An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object. + The value to assign to the size attribute of the element. + true to indicate that the multiple selections are enabled; otherwise, false. + + is null or empty. + + + Returns an HTML list box control that has the specified name, and that contains the specified list items and default item. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list box. + + is null or empty. + + + Returns an HTML list box control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items and default item. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML list box control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items and default item. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list box. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML list box control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items, default item, and selections. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list. + An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML list box control that has the specified name, size, items, default item, and selections, and that specifies whether multiple selections are enabled. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list. + An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object. + The value to assign to the size attribute of the element. + true to indicate that multiple selections are enabled; otherwise, false. + + is null or empty. + + + Returns an HTML list box control that has the specified name, size, custom attributes defined by an attribute dictionary, items, default item, and selections, and that specifies whether multiple selections are enabled. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list. + An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object. + The value to assign to the size attribute of the element. + true to indicate that multiple selections are enabled; otherwise, false. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML list box control that has the specified name, size, custom attributes defined by an attribute object, items, default item, and selections, and that specifies whether multiple selections are enabled. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list. + An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object. + The value to assign to the size attribute of the element. + true to indicate that multiple selections are enabled; otherwise, false. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML list box control that has the specified name, items, default item, and custom attributes defined by an attribute object, and selections. + The HTML markup that represents the list box control. + The value to assign to the name attribute of the HTML select element. + The text to display for the default option in the list. + A list of instances that are used to populate the list. + An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML password control that has the specified name. + The HTML markup that represents the password control. + The value to assign to the name attribute of the HTML control element. + + is null or empty. + + + Returns an HTML password control that has the specified name and value. + The HTML markup that represents the password control. + The value to assign to the name attribute of the HTML control element. + The value to assign to the value attribute of the element. + + is null or empty. + + + Returns an HTML password control that has the specified name, value, and custom attributes defined by an attribute dictionary. + The HTML markup that represents the password control. + The value to assign to the name attribute of the HTML control element. + The value to assign to the value attribute of the element. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML password control that has the specified name, value, and custom attributes defined by an attribute object. + The HTML markup that represents the password control. + The value to assign to the name attribute of the HTML control element. + The value to assign to the value attribute of the element. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML radio button control that has the specified name and value. + The HTML markup that represents the radio button control. + The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to. + The value to assign to the value attribute of the element. + + is null or empty. + + + Returns an HTML radio button control that has the specified name, value, and default selected status. + The HTML markup that represents the radio button control. + The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to. + The value to assign to the value attribute of the element. + true to indicate that the control is selected; otherwise, false. + + is null or empty. + + + Returns an HTML radio button control that has the specified name, value, default selected status, and custom attributes defined by an attribute dictionary. + The HTML markup that represents the radio button control. + The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to. + The value to assign to the value attribute of the element. + true to indicate that the control is selected; otherwise, false. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML radio button control that has the specified name, value, default selected status, and custom attributes defined by an attribute object. + The HTML markup that represents the radio button control. + The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to. + The value to assign to the value attribute of the element. + true to indicate that the control is selected; otherwise, false. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML radio button control that has the specified name, value, and custom attributes defined by an attribute dictionary. + The HTML markup that represents the radio button control. + The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to. + The value to assign to the value attribute of the element. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML radio button control that has the specified name, value, and custom attributes defined by an attribute object. + The HTML markup that represents the radio button control. + The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to. + The value to assign to the value attribute of the element. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Wraps HTML markup in an instance so that it is interpreted as HTML markup. + The unencoded HTML. + The object to render HTML for. + + + Wraps HTML markup in an instance so that it is interpreted as HTML markup. + The unencoded HTML. + The string to interpret as HTML markup instead of being HTML-encoded. + + + Returns an HTML multi-line text input (text area) control that has the specified name. + The HTML markup that represents the text area control. + The value to assign to the name attribute of the HTML textarea element. + + is null or empty. + + + Returns an HTML multi-line text input (text area) control that has the specified name and custom attributes defined by an attribute dictionary. + The HTML markup that represents the text area control. + The value to assign to the name attribute of the HTML textarea element. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML multi-line text input (text area) control that has the specified name and custom attributes defined by an attribute object. + The HTML markup that represents the text area control. + The value to assign to the name attribute of the HTML textarea element. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML multi-line text input (text area) control that has the specified name and value. + The HTML markup that represents the text area control. + The value to assign to the name attribute of the HTML textrarea element. + The text to display. + + is null or empty. + + + Returns an HTML multi-line text input (text area) control that has the specified name, value, and custom attributes defined by an attribute dictionary. + The HTML markup that represents the text area control. + The value to assign to the name attribute of the HTML textarea element. + The text to display. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML multi-line text input (text area) control that has the specified name, value, row attribute, col attribute, and custom attributes defined by an attribute dictionary. + The HTML markup that represents the text area control. + The value to assign to the name attribute of the HTML textarea element. + The text to display. + The value to assign to the rows attribute of the element. + The value to assign to the cols attribute of the element. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML multi-line text input (text area) control that has the specified name, value, row attribute, col attribute, and custom attributes defined by an attribute object. + The HTML markup that represents the text area control. + The value to assign to the name attribute of the HTML textarea element. + The text to display. + The value to assign to the rows attribute of the element. + The value to assign to the cols attribute of the element. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML multi-line text input (text area) control that has the specified name, value, and custom attributes defined by an attribute object. + The HTML markup that represents the text area control. + The value to assign to the name attribute of the HTML textarea element. + The text to display. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML text control that has the specified name. + The HTML markup that represents the text control. + The value to assign to the name attribute of the HTML control element. + + is null or empty. + + + Returns an HTML text control that has the specified name and value. + The HTML markup that represents the text control. + The value to assign to the name attribute of the HTML control element. + The value to assign to the value attribute of the element. + + is null or empty. + + + Returns an HTML text control that has the specified name, value, and custom attributes defined by an attribute dictionary. + The HTML markup that represents the text control. + The value to assign to the name attribute of the HTML control element. + The value to assign to the value attribute of the element. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML text control that has the specified name, value, and custom attributes defined by an attribute object. + The HTML markup that represents the text control. + The value to assign to the name attribute of the HTML control element. + The value to assign to the value attribute of the element. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Gets or sets a value that indicates whether the page uses unobtrusive JavaScript for Ajax functionality. + true if the page uses unobtrusive JavaScript; otherwise, false. + + + Gets or sets the name of the CSS class that defines the appearance of input elements when validation fails. + The name of the CSS class. The default is field-validation-error. + + + Gets or sets the name of the CSS class that defines the appearance of input elements when validation passes. + The name of the CSS class. The default is input-validation-valid. + + + Returns an HTML span element that contains the first validation error message for the specified form field. + If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field. + The name of the form field that was validated. + + is null or empty. + + + Returns an HTML span element that has the specified custom attributes defined by an attribute dictionary, and that contains the first validation error message for the specified form field. + If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field. + The name of the form field that was validated. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML span element that has the specified custom attributes defined by an attribute object, and that contains the first validation error message for the specified form field. + If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field. + The name of the form field that was validated. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Returns an HTML span element that contains a validation error message for the specified form field. + If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field. + The name of the form field that was validated. + The validation error message to display. If null, the first validation error message that is associated with the specified form field is displayed. + + is null or empty. + + + Returns an HTML span element that has the specified custom attributes defined by an attribute dictionary, and that contains a validation error message for the specified form field. + If the specified field is valid, null; otherwise, the HTML markup that represents a validation error message that is associated with the specified field. + The name of the form field that was validated. + The validation error message to display. If null, the first validation error message that is associated with the specified form field is displayed. + The names and values of custom attributes for the element. + + is null or empty. + + + Returns an HTML span element that has the specified custom attributes defined by an attribute object, and that contains a validation error message for the specified form field. + If the specified field is valid, null; otherwise, the HTML markup that represents a validation error message that is associated with the specified field. + The name of the form field that was validated. + The validation error message to display. If null, the first validation error message that is associated with the specified form field is displayed. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + is null or empty. + + + Gets or sets the name of the CSS class that defines the appearance of validation error messages when validation fails. + The name of the CSS class. The default is field-validation-error. + + + Gets or sets the name of the CSS class that defines the appearance of validation error messages when validation passes. + The name of the CSS class. The default is field-validation-valid. + + + Returns an HTML div element that contains an unordered list of all validation error messages from the model-state dictionary. + The HTML markup that represents the validation error messages. + + + Returns an HTML div element that contains an unordered list of validation error message from the model-state dictionary, optionally excluding field-level errors. + The HTML markup that represents the validation error messages. + true to exclude field-level validation error messages from the list; false to include both model-level and field-level validation error messages. + + + Returns an HTML div element that has the specified custom attributes defined by an attribute dictionary, and that contains an unordered list of all validation error messages that are in the model-state dictionary. + The HTML markup that represents the validation error messages. + The names and values of custom attributes for the element. + + + Returns an HTML div element that has the specified custom attributes defined by an attribute object, and that contains an unordered list of all validation error messages that are in the model-state dictionary. + The HTML markup that represents the validation error messages. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + + Returns an HTML div element that contains a summary message and an unordered list of all validation error messages that are in the model-state dictionary. + The HTML markup that represents the validation error messages. + The message that comes before the list of validation error messages. + + + Returns an HTML div element that has the specified custom attributes defined by an attribute dictionary, and that contains a summary message and an unordered list of validation error message from the model-state dictionary, optionally excluding field-level errors. + The HTML markup that represents the validation error messages. + The summary message that comes before the list of validation error messages. + true to exclude field-level validation error messages from the results; false to include both model-level and field-level validation error messages. + The names and values of custom attributes for the element. + + + Returns an HTML div element that has the specified custom attributes defined by an attribute object, and that contains a summary message and an unordered list of validation error message from the model-state dictionary, optionally excluding field-level errors. + The HTML markup that represents the validation error messages. + The summary message that comes before the list of validation error messages. + true to exclude field-level validation error messages from the results; false to include and field-level validation error messages. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + + Returns an HTML div element that has the specified custom attributes defined by an attribute dictionary, and that contains a summary message and an unordered list of all validation error message from the model-state dictionary. + The HTML markup that represents the validation error messages. + The message that comes before the list of validation error messages. + The names and values of custom attributes for the element. + + + Returns an HTML div element that has the specified custom attributes defined by an attribute object, and that contains a summary message and an unordered list of all validation error message from the model-state dictionary. + The HTML markup that represents the validation error messages. + The summary message that comes before the list of validation error messages. + An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object. + + + Gets or sets the name of the CSS class that defines the appearance of a validation summary when validation fails. + The name of the CSS class. The default is validation-summary-errors. + + + Gets or sets the name of the CSS class that defines the appearance of a validation summary when validation passes. + The name of the CSS class. The default is validation-summary-valid. + + + Encapsulates the state of model binding to a property of an action-method argument, or to the argument itself. + + + Initializes a new instance of the class. + + + Returns a list of strings that contains any errors that occurred during model binding. + The errors that occurred during model binding. + + + Returns an object that encapsulates the value that was bound during model binding. + The value that was bound. + + + Represents the result of binding a posted form to an action method, which includes information such as validation status and validation error messages. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class by using values that are copied from the specified model-state dictionary. + The model-state dictionary that values are copied from. + + + Adds the specified item to the model-state dictionary. + The item to add to the model-state dictionary. + + + Adds an item that has the specified key and value to the model-state dictionary. + The key. + The value. + + + Adds an error message to the model state that is associated with the specified key. + The key that is associated with the model state that the error message is added to. + The error message. + + + Adds an error message to the model state that is associated with the entire form. + The error message. + + + Removes all items from the model-state dictionary. + + + Determines whether the model-state dictionary contains the specified item. + true if the model-state dictionary contains the specified item; otherwise, false. + The item to look for. + + + Determines whether the model-state dictionary contains the specified key. + true if the model-state dictionary contains the specified key; otherwise, false. + The key to look for. + + + Copies the elements of the model-state dictionary to an array, starting at the specified index. + The one-dimensional instance where the elements will be copied to. + The index in at which copying begins. + + + Gets the number of model states that the model-state dictionary contains. + The number of model states in the model-state dictionary. + + + Returns an enumerator that can be used to iterate through the collection. + An enumerator that can be used to iterate through the collection. + + + Gets a value that indicates whether the model-state dictionary is read-only. + true if the model-state dictionary is read-only; otherwise, false. + + + Gets a value that indicates whether any error messages are associated with any model state in the model-state dictionary. + true if any error messages are associated with any model state in the dictionary; otherwise, false. + + + Determines whether any error messages are associated with the specified key. + true if no error messages are associated with the specified key, or the specified key does not exist; otherwise, false. + The key. + + is null. + + + Gets or sets the model state that is associated with the specified key in the model-state dictionary. + The model state that is associated with the specified key in the dictionary. + The key that is associated with the model state. + + + Gets a list that contains the keys in the model-state dictionary. + The list of keys in the dictionary. + + + Copies the values from the specified model-state dictionary into this instance, overwriting existing values when the keys are the same. + The model-state dictionary that values are copied from. + + + Removes the first occurrence of the specified item from the model-state dictionary. + true if the item was successfully removed from the model-state dictionary; false if the item was not removed or if the item does not exist in the model-state dictionary. + The item to remove. + + + Removes the item that has the specified key from the model-state dictionary. + true if the item was successfully removed from the model-state dictionary; false if the item was not removed or does not exist in the model-state dictionary. + The key of the element to remove. + + + Sets the value of the model state that is associated with the specified key. + The key to set the value of. + The value to set the key to. + + + Returns an enumerator that can be used to iterate through the model-state dictionary. + An enumerator that can be used to iterate through the model-state dictionary. + + + Gets the model-state value that is associated with the specified key. + true if the model-state dictionary contains an element that has the specified key; otherwise, false. + The key to get the value of. + When this method returns, if the key is found, contains the model-state value that is associated with the specified key; otherwise, contains the default value for the type. This parameter is passed uninitialized. + + + Gets a list that contains the values in the model-state dictionary. + The list of values in the dictionary. + + + Represents an item in an HTML select list. + + + Initializes a new instance of the class using the default settings. + + + Initializes a new instance of the class by copying the specified select list item. + The select list item to copy. + + + Gets or sets a value that indicates whether the instance is selected. + true if the select list item is selected; otherwise, false. + + + Gets or sets the text that is used to display the instance on a web page. + The text that is used to display the select list item. + + + Gets or sets the value of the HTML value attribute of the HTML option element that is associated with the instance. + The value of the HTML value attribute that is associated with the select list item. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. + + + Defines an ASP.NET request scope storage provider. + + + Initializes a new instance of the class. + + + Gets the dictionary to store data in the application scope. + The dictionary that stores application scope data. + + + Gets or sets the dictionary to store data in the current scope. + The dictionary that stores current scope data. + The application start page was not executed before the attempt was made to set this property. + + + Gets the dictionary to store data in the global scope. + The dictionary that stores global scope data. + + + Gets the dictionary to store data in the request scope. + The dictionary that stores request scope data. + The application start page was not executed before the attempt was made to get this property. + + + Defines a dictionary that provides scoped access to data. + + + Gets and sets the dictionary that is used to store data in the current scope. + The dictionary that stores current scope data. + + + Gets the dictionary that is used to store data in the global scope. + The dictionary that stores global scope data. + + + Defines a class that is used to contain storage for a transient scope. + + + Returns a dictionary that is used to store data in a transient scope, based on the scope in the property. + The dictionary that stores transient scope data. + + + Returns a dictionary that is used to store data in a transient scope. + The dictionary that stores transient scope data. + The context. + + + Gets or sets the current scope provider. + The current scope provider. + + + Gets the dictionary that is used to store data in the current scope. + The dictionary that stores current scope data. + + + Gets the dictionary that is used to store data in the global scope. + The dictionary that stores global scope data. + + + Represents a collection of keys and values that are used to store data at different scope levels (local, global, and so on). + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the specified base scope. + The base scope. + + + Adds a key/value pair to the object using the specified generic collection. + The key/value pair. + + + Adds the specified key and specified value to the object. + The key. + The value. + + + Gets the dictionary that stores the object data. + + + Gets the base scope for the object. + The base scope for the object. + + + Removes all keys and values from the concatenated and objects. + + + Returns a value that indicates whether the specified key/value pair exists in either the object or in the object. + true if the object or the object contains an element that has the specified key/value pair; otherwise, false. + The key/value pair. + + + Returns a value that indicates whether the specified key exists in the object or in the object. + true if the object or the object contains an element that has the specified key; otherwise, false. + The key. + + + Copies all of the elements in the object and the object to an object, starting at the specified index. + The array. + The zero-based index in . + + + Gets the number of key/value pairs that are in the concatenated and objects. + The number of key/value pairs. + + + Returns an enumerator that can be used to iterate through concatenated and objects. + An object. + + + Returns an enumerator that can be used to iterate through the distinct elements of concatenated and objects. + An enumerator that contains distinct elements from the concatenated dictionary objects. + + + Gets a value that indicates whether the object is read-only. + true if the object is read-only; otherwise, false. + + + Gets or sets the element that is associated with the specified key. + The element that has the specified key. + The key of the element to get or set. + + + Gets a object that contains the keys from the concatenated and objects. + An object that contains that contains the keys. + + + Removes the specified key/value pair from the concatenated and objects. + true if the key/value pair is removed, or false if is not found in the concatenated and objects. + The key/value pair. + + + Removes the value that has the specified key from the concatenated and objects. + true if the key/value pair is removed, or false if is not found in the concatenated and objects. + The key. + + + Sets a value using the specified key in the concatenated and objects. + The key. + The value. + + + Returns an enumerator for the concatenated and objects. + The enumerator. + + + Gets the value that is associated with the specified key from the concatenated and objects. + true if the concatenated and objects contain an element that has the specified key; otherwise, false. + The key. + When this method returns, if the key is found, contains the value that is associated with the specified key; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. + + + Gets a object that contains the values from the concatenated and objects. + The object that contains the values. + + + Provides scoped access to static data. + + + Initializes a new instance of the class. + + + Gets or sets a dictionary that stores current data under a static context. + The dictionary that provides current scoped data. + + + Gets a dictionary that stores global data under a static context. + The dictionary that provides global scoped data. + + + \ No newline at end of file diff --git a/packages/Microsoft.Net.Http.2.0.20710.0/Microsoft.Net.Http.2.0.20710.0.nupkg b/packages/Microsoft.Net.Http.2.0.20710.0/Microsoft.Net.Http.2.0.20710.0.nupkg new file mode 100644 index 000000000..1d93a2576 Binary files /dev/null and b/packages/Microsoft.Net.Http.2.0.20710.0/Microsoft.Net.Http.2.0.20710.0.nupkg differ diff --git a/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.WebRequest.dll b/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.WebRequest.dll new file mode 100644 index 000000000..b26b59a54 Binary files /dev/null and b/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.WebRequest.dll differ diff --git a/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.WebRequest.xml b/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.WebRequest.xml new file mode 100644 index 000000000..dea1f9894 --- /dev/null +++ b/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.WebRequest.xml @@ -0,0 +1,63 @@ + + + + System.Net.Http.WebRequest + + + + Represents the class that is used to create special for use with the Real-Time-Communications (RTC) background notification infrastructure. + + + Creates a special for use with the Real-Time-Communications (RTC) background notification infrastructure. + Returns .An HTTP request message for use with the RTC background notification infrastructure. + The HTTP method. + The Uri the request is sent to. + + + Provides desktop-specific features not available to Windows Store apps or other environments. + + + Initializes a new instance of the class. + + + Gets or sets a value that indicates whether to pipeline the request to the Internet resource. + Returns .true if the request should be pipelined; otherwise, false. The default is true. + + + Gets or sets a value indicating the level of authentication and impersonation used for this request. + Returns .A bitwise combination of the values. The default value is . + + + Gets or sets the cache policy for this request. + Returns .A object that defines a cache policy. The default is . + + + Gets or sets the collection of security certificates that are associated with this request. + Returns .The collection of security certificates associated with this request. + + + Gets or sets the amount of time, in milliseconds, the application will wait for 100-continue from the server before uploading data. + Returns .The amount of time, in milliseconds, the application will wait for 100-continue from the server before uploading data. The default value is 350 milliseconds. + + + Gets or sets the impersonation level for the current request. + Returns .The impersonation level for the request. The default is . + + + Gets or sets the maximum allowed length of the response headers. + Returns .The length, in kilobytes (1024 bytes), of the response headers. + + + Gets or sets a time-out in milliseconds when writing a request to or reading a response from a server. + Returns .The number of milliseconds before the writing or reading times out. The default value is 300,000 milliseconds (5 minutes). + + + Gets or sets a callback method to validate the server certificate. + Returns .A callback method to validate the server certificate. + + + Gets or sets a value that indicates whether to allow high-speed NTLM-authenticated connection sharing. + Returns .true to keep the authenticated connection open; otherwise, false. + + + \ No newline at end of file diff --git a/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.dll b/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.dll new file mode 100644 index 000000000..2ee8ff7a5 Binary files /dev/null and b/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.dll differ diff --git a/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.xml b/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.xml new file mode 100644 index 000000000..34457cb08 --- /dev/null +++ b/packages/Microsoft.Net.Http.2.0.20710.0/lib/net40/System.Net.Http.xml @@ -0,0 +1,2308 @@ + + + + System.Net.Http + + + + Provides HTTP content based on a byte array. + + + Initializes a new instance of the class. + The content used to initialize the . + The parameter is null. + + + Initializes a new instance of the class. + The content used to initialize the . + The offset, in bytes, in the parameter used to initialize the . + The number of bytes in the starting from the parameter used to initialize the . + The parameter is null. + The parameter is less than zero.-or-The parameter is greater than the length of content specified by the parameter.-or-The parameter is less than zero.-or-The parameter is greater than the length of content specified by the parameter - minus the parameter. + + + Creates an HTTP content stream as an asynchronous operation for reading whose backing store is memory from the . + Returns .The task object representing the asynchronous operation. + + + Serialize and write the byte array provided in the constructor to an HTTP content stream as an asynchronous operation. + Returns . The task object representing the asynchronous operation. + The target stream. + Information about the transport, like channel binding token. This parameter may be null. + + + Determines whether a byte array has a valid length in bytes. + Returns .true if is a valid length; otherwise, false. + The length in bytes of the byte array. + + + Specifies how client certificates are provided. + + + The application manually provides the client certificates to the . This value is the default. + + + The will attempt to provide all available client certificates automatically. + + + A base type for HTTP handlers that delegate the processing of HTTP response messages to another handler, called the inner handler. + + + Creates a new instance of the class. + + + Creates a new instance of the class with a specific inner handler. + The inner handler which is responsible for processing the HTTP response messages. + + + Releases the unmanaged resources used by the , and optionally disposes of the managed resources. + true to release both managed and unmanaged resources; false to releases only unmanaged resources. + + + Gets or sets the inner handler which processes the HTTP response messages. + Returns .The inner handler for HTTP response messages. + + + Sends an HTTP request to the inner handler to send to the server as an asynchronous operation. + Returns . The task object representing the asynchronous operation. + The HTTP request message to send to the server. + A cancellation token to cancel operation. + The was null. + + + A container for name/value tuples encoded using application/x-www-form-urlencoded MIME type. + + + Initializes a new instance of the class with a specific collection of name/value pairs. + A collection of name/value pairs. + + + Provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with a specific handler. + The HTTP handler stack to use for sending requests. + + + Initializes a new instance of the class with a specific handler. + The responsible for processing the HTTP response messages. + true if the inner handler should be disposed of by Dispose(),false if you intend to reuse the inner handler. + + + Gets or sets the base address of Uniform Resource Identifier (URI) of the Internet resource used when sending requests. + Returns .The base address of Uniform Resource Identifier (URI) of the Internet resource used when sending requests. + + + Cancel all pending requests on this instance. + + + Gets the headers which should be sent with each request. + Returns .The headers which should be sent with each request. + + + Send a DELETE request to the specified Uri as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The was null. + + + Send a DELETE request to the specified Uri with a cancellation token as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The was null. + + + Send a DELETE request to the specified Uri as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The was null. + + + Send a DELETE request to the specified Uri with a cancellation token as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The was null. + + + Releases the unmanaged resources used by the and optionally disposes of the managed resources. + true to release both managed and unmanaged resources; false to releases only unmanaged resources. + + + Send a GET request to the specified Uri as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The was null. + + + Send a GET request to the specified Uri with an HTTP completion option as an asynchronous operation. + Returns . + The Uri the request is sent to. + An HTTP completion option value that indicates when the operation should be considered completed. + The was null. + + + Send a GET request to the specified Uri with an HTTP completion option and a cancellation token as an asynchronous operation. + Returns . + The Uri the request is sent to. + An HTTP completion option value that indicates when the operation should be considered completed. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The was null. + + + Send a GET request to the specified Uri with a cancellation token as an asynchronous operation. + Returns . + The Uri the request is sent to. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The was null. + + + Send a GET request to the specified Uri as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The was null. + + + Send a GET request to the specified Uri with an HTTP completion option as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + An HTTP completion option value that indicates when the operation should be considered completed. + The was null. + + + Send a GET request to the specified Uri with an HTTP completion option and a cancellation token as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + An HTTP completion option value that indicates when the operation should be considered completed. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The was null. + + + Send a GET request to the specified Uri with a cancellation token as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The was null. + + + Send a GET request to the specified Uri and return the response body as a byte array in an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The was null. + + + Send a GET request to the specified Uri and return the response body as a byte array in an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The was null. + + + Send a GET request to the specified Uri and return the response body as a stream in an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The was null. + + + Send a GET request to the specified Uri and return the response body as a stream in an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The was null. + + + Send a GET request to the specified Uri and return the response body as a string in an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The was null. + + + Send a GET request to the specified Uri and return the response body as a string in an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The was null. + + + Gets or sets the maximum number of bytes to buffer when reading the response content. + Returns .The maximum number of bytes to buffer when reading the response content. The default value for this property is 64K. + The size specified is less than or equal to zero. + An operation has already been started on the current instance. + The current instance has been disposed. + + + Send a POST request to the specified Uri as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The HTTP request content sent to the server. + The was null. + + + Send a POST request with a cancellation token as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The HTTP request content sent to the server. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The was null. + + + Send a POST request to the specified Uri as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The HTTP request content sent to the server. + The was null. + + + Send a POST request with a cancellation token as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The HTTP request content sent to the server. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The was null. + + + Send a PUT request to the specified Uri as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The HTTP request content sent to the server. + The was null. + + + Send a PUT request with a cancellation token as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The HTTP request content sent to the server. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The was null. + + + Send a PUT request to the specified Uri as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The HTTP request content sent to the server. + The was null. + + + Send a PUT request with a cancellation token as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The Uri the request is sent to. + The HTTP request content sent to the server. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The was null. + + + Send an HTTP request as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The HTTP request message to send. + The was null. + The request message was already sent by the instance. + + + Send an HTTP request as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The HTTP request message to send. + When the operation should complete (as soon as a response is available or after reading the whole response content). + The was null. + The request message was already sent by the instance. + + + Send an HTTP request as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The HTTP request message to send. + When the operation should complete (as soon as a response is available or after reading the whole response content). + The cancellation token to cancel operation. + The was null. + The request message was already sent by the instance. + + + Send an HTTP request as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The HTTP request message to send. + The cancellation token to cancel operation. + The was null. + The request message was already sent by the instance. + + + Gets or sets the number of milliseconds to wait before the request times out. + Returns .The number of milliseconds to wait before the request times out. + The timeout specified is less than or equal to zero and is not . + An operation has already been started on the current instance. + The current instance has been disposed. + + + The default message handler used by . + + + Creates an instance of a class. + + + Gets or sets a value that indicates whether the handler should follow redirection responses. + Returns .true if the if the handler should follow redirection responses; otherwise false. The default value is true. + + + Gets or sets the type of decompression method used by the handler for automatic decompression of the HTTP content response. + Returns .The automatic decompression method used by the handler. The default value is . + + + Gets or sets the collection of security certificates that are associated with this handler. + Returns .The collection of security certificates associated with this handler. + + + Gets or sets the cookie container used to store server cookies by the handler. + Returns .The cookie container used to store server cookies by the handler. + + + Gets or sets authentication information used by this handler. + Returns .The authentication credentials associated with the handler. The default is null. + + + Releases the unmanaged resources used by the and optionally disposes of the managed resources. + true to release both managed and unmanaged resources; false to releases only unmanaged resources. + + + Gets or sets the maximum number of redirects that the handler follows. + Returns .The maximum number of redirection responses that the handler follows. The default value is 50. + + + Gets or sets the maximum request content buffer size used by the handler. + Returns .The maximum request content buffer size in bytes. The default value is 65,536 bytes. + + + Gets or sets a value that indicates whether the handler sends an Authorization header with the request. + Returns .true for the handler to send an HTTP Authorization header with requests after authentication has taken place; otherwise, false. The default is false. + + + Gets or sets proxy information used by the handler. + Returns .The proxy information used by the handler. The default value is null. + + + Creates an instance of based on the information provided in the as an operation that will not block. + Returns .The task object representing the asynchronous operation. + The HTTP request message. + A cancellation token to cancel the operation. + The was null. + + + Gets a value that indicates whether the handler supports automatic response content decompression. + Returns .true if the if the handler supports automatic response content decompression; otherwise false. The default value is true. + + + Gets a value that indicates whether the handler supports proxy settings. + Returns .true if the if the handler supports proxy settings; otherwise false. The default value is true. + + + Gets a value that indicates whether the handler supports configuration settings for the and properties. + Returns .true if the if the handler supports configuration settings for the and properties; otherwise false. The default value is true. + + + Gets or sets a value that indicates whether the handler uses the property to store server cookies and uses these cookies when sending requests. + Returns .true if the if the handler supports uses the property to store server cookies and uses these cookies when sending requests; otherwise false. The default value is true. + + + Gets or sets a value that controls whether default credentials are sent with requests by the handler. + Returns .true if the default credentials are used; otherwise false. The default value is false. + + + Gets or sets a value that indicates whether the handler uses a proxy for requests. + Returns .true if the handler should use a proxy for requests; otherwise false. The default value is true. + + + Indicates if operations should be considered completed either as soon as a response is available, or after reading the entire response message including the content. + + + The operation should complete after reading the entire response including the content. + + + The operation should complete as soon as a response is available and headers are read. The content is not read yet. + + + A base class representing an HTTP entity body and content headers. + + + Initializes a new instance of the class. + + + Write the HTTP content to a stream as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The target stream. + + + Write the HTTP content to a stream as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The target stream. + Information about the transport (channel binding token, for example). This parameter may be null. + + + Write the HTTP content to a memory stream as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + + + Releases the unmanaged resources and disposes of the managed resources used by the . + + + Releases the unmanaged resources used by the and optionally disposes of the managed resources. + true to release both managed and unmanaged resources; false to releases only unmanaged resources. + + + Gets the HTTP content headers as defined in RFC 2616. + Returns .The content headers as defined in RFC 2616. + + + Serialize the HTTP content to a memory buffer as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + + + Serialize the HTTP content to a memory buffer as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The maximum size, in bytes, of the buffer to use. + + + Write the HTTP content to a byte array as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + + + Write the HTTP content to a stream as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + + + Write the HTTP content to a string as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + + + Serialize the HTTP content to a stream as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The target stream. + Information about the transport (channel binding token, for example). This parameter may be null. + + + Determines whether the HTTP content has a valid length in bytes. + Returns .true if is a valid length; otherwise, false. + The length in bytes of the HHTP content. + + + A base type for HTTP message handlers. + + + Initializes a new instance of the class. + + + Releases the unmanaged resources and disposes of the managed resources used by the . + + + Releases the unmanaged resources used by the and optionally disposes of the managed resources. + true to release both managed and unmanaged resources; false to releases only unmanaged resources. + + + Send an HTTP request as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The HTTP request message to send. + The cancellation token to cancel operation. + The was null. + + + The base type for and other message originators. + + + Initializes an instance of a class with a specific . + The responsible for processing the HTTP response messages. + + + Initializes an instance of a class with a specific . + The responsible for processing the HTTP response messages. + true if the inner handler should be disposed of by Dispose(),false if you intend to reuse the inner handler. + + + Releases the unmanaged resources and disposes of the managed resources used by the . + + + Releases the unmanaged resources used by the and optionally disposes of the managed resources. + true to release both managed and unmanaged resources; false to releases only unmanaged resources. + + + Send an HTTP request as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The HTTP request message to send. + The cancellation token to cancel operation. + The was null. + + + A helper class for retrieving and comparing standard HTTP methods. + + + Initializes a new instance of the class with a specific HTTP method. + The HTTP method. + + + Represents an HTTP DELETE protocol method. + Returns . + + + Determines whether the specified is equal to the current . + Returns .true if the specified object is equal to the current object; otherwise, false. + The HTTP method to compare with the current object. + + + Determines whether the specified is equal to the current . + Returns .true if the specified object is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Represents an HTTP GET protocol method. + Returns . + + + Serves as a hash function for this type. + Returns .A hash code for the current . + + + Represents an HTTP HEAD protocol method. The HEAD method is identical to GET except that the server only returns message-headers in the response, without a message-body. + Returns . + + + An HTTP method. + Returns .An HTTP method represented as a . + + + The equality operator for comparing two objects. + Returns .true if the specified and parameters are equal; otherwise, false. + The left to an equality operator. + The right to an equality operator. + + + The inequality operator for comparing two objects. + Returns .true if the specified and parameters are inequal; otherwise, false. + The left to an inequality operator. + The right to an inequality operator. + + + Represents an HTTP OPTIONS protocol method. + Returns . + + + Represents an HTTP POST protocol method that is used to post a new entity as an addition to a URI. + Returns . + + + Represents an HTTP PUT protocol method that is used to replace an entity identified by a URI. + Returns . + + + Returns a string that represents the current object. + Returns .A string representing the current object. + + + Represents an HTTP TRACE protocol method. + Returns . + + + A base class for exceptions thrown by the and classes. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with a specific message that describes the current exception. + A message that describes the current exception. + + + Initializes a new instance of the class with a specific message that describes the current exception and an inner exception. + A message that describes the current exception. + The inner exception. + + + Represents a HTTP request message. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with an HTTP method and a request . + The HTTP method. + A string that represents the request . + + + Initializes a new instance of the class with an HTTP method and a request . + The HTTP method. + The to request. + + + Gets or sets the contents of the HTTP message. + Returns .The content of a message + + + Releases the unmanaged resources and disposes of the managed resources used by the . + + + Releases the unmanaged resources used by the and optionally disposes of the managed resources. + true to release both managed and unmanaged resources; false to releases only unmanaged resources. + + + Gets the collection of HTTP request headers. + Returns .The collection of HTTP request headers. + + + Gets or sets the HTTP method used by the HTTP request message. + Returns .The HTTP method used by the request message. The default is the GET method. + + + Gets a set of properties for the HTTP request. + Returns . + + + Gets or sets the used for the HTTP request. + Returns .The used for the HTTP request. + + + Returns a string that represents the current object. + Returns .A string representation of the current object. + + + Gets or sets the HTTP message version. + Returns .The HTTP message version. The default is 1.1. + + + Represents a HTTP response message. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with a specific . + The status code of the HTTP response. + + + Gets or sets the content of a HTTP response message. + Returns .The content of the HTTP response message. + + + Releases the unmanaged resources and disposes of unmanaged resources used by the . + + + Releases the unmanaged resources used by the and optionally disposes of the managed resources. + true to release both managed and unmanaged resources; false to releases only unmanaged resources. + + + Throws an exception if the property for the HTTP response is false. + Returns .The HTTP response message if the call is successful. + + + Gets the collection of HTTP response headers. + Returns .The collection of HTTP response headers. + + + Gets a value that indicates if the HTTP response was successful. + Returns .A value that indicates if the HTTP response was successful. true if was in the range 200-299; otherwise false. + + + Gets or sets the reason phrase which typically is sent by servers together with the status code. + Returns .The reason phrase sent by the server. + + + Gets or sets the request message which led to this response message. + Returns .The request message which led to this response message. + + + Gets or sets the status code of the HTTP response. + Returns .The status code of the HTTP response. + + + Returns a string that represents the current object. + Returns .A string representation of the current object. + + + Gets or sets the HTTP message version. + Returns .The HTTP message version. The default is 1.1. + + + A base type for handlers which only do some small processing of request and/or response messages. + + + Creates an instance of a class. + + + Creates an instance of a class with a specific inner handler. + The inner handler which is responsible for processing the HTTP response messages. + + + Processes an HTTP request message. + Returns .The HTTP request message that was processed. + The HTTP request message to process. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + + + Processes an HTTP response message. + Returns .The HTTP response message that was processed. + The HTTP response message to process. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + + + Sends an HTTP request to the inner handler to send to the server as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The HTTP request message to send to the server. + A cancellation token that can be used by other objects or threads to receive notice of cancellation. + The was null. + + + Provides a collection of objects that get serialized using the multipart/* content type specification. + + + Creates a new instance of the class. + + + Creates a new instance of the class. + The subtype of the multipart content. + The was null or contains only white space characters. + + + Creates a new instance of the class. + The subtype of the multipart content. + The boundary string for the multipart content. + The was null or an empty string.The was null or contains only white space characters.-or-The ends with a space character. + The length of the was greater than 70. + + + Add multipart HTTP content to a collection of objects that get serialized using the multipart/* content type specification. + The HTTP content to add to the collection. + The was null. + + + Releases the unmanaged resources used by the and optionally disposes of the managed resources. + true to release both managed and unmanaged resources; false to releases only unmanaged resources. + + + Returns an enumerator that iterates through the collection of objects that get serialized using the multipart/* content type specification.. + Returns .An object that can be used to iterate through the collection. + + + Serialize the multipart HTTP content to a stream as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The target stream. + Information about the transport (channel binding token, for example). This parameter may be null. + + + The explicit implementation of the method. + Returns .An object that can be used to iterate through the collection. + + + Determines whether the HTTP multipart content has a valid length in bytes. + Returns .true if is a valid length; otherwise, false. + The length in bytes of the HHTP content. + + + Provides a container for content encoded using multipart/form-data MIME type. + + + Creates a new instance of the class. + + + Creates a new instance of the class. + The boundary string for the multipart form data content. + The was null or contains only white space characters.-or-The ends with a space character. + The length of the was greater than 70. + + + Add HTTP content to a collection of objects that get serialized to multipart/form-data MIME type. + The HTTP content to add to the collection. + The was null. + + + Add HTTP content to a collection of objects that get serialized to multipart/form-data MIME type. + The HTTP content to add to the collection. + The name for the HTTP content to add. + The was null or contains only white space characters. + The was null. + + + Add HTTP content to a collection of objects that get serialized to multipart/form-data MIME type. + The HTTP content to add to the collection. + The name for the HTTP content to add. + The file name for the HTTP content to add to the collection. + The was null or contains only white space characters.-or-The was null or contains only white space characters. + The was null. + + + Provides HTTP content based on a stream. + + + Creates a new instance of the class. + The content used to initialize the . + + + Creates a new instance of the class. + The content used to initialize the . + The size, in bytes, of the buffer for the . + The was null. + The was less than or equal to zero. + + + Write the HTTP stream content to a memory stream as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + + + Releases the unmanaged resources used by the and optionally disposes of the managed resources. + true to release both managed and unmanaged resources; false to releases only unmanaged resources. + + + Serialize the HTTP content to a stream as an asynchronous operation. + Returns .The task object representing the asynchronous operation. + The target stream. + Information about the transport (channel binding token, for example). This parameter may be null. + + + Determines whether the stream content has a valid length in bytes. + Returns .true if is a valid length; otherwise, false. + The length in bytes of the stream content. + + + Provides HTTP content based on a string. + + + Creates a new instance of the class. + The content used to initialize the . + + + Creates a new instance of the class. + The content used to initialize the . + The encoding to use for the content. + + + Creates a new instance of the class. + The content used to initialize the . + The encoding to use for the content. + The media type to use for the content. + + + Represents authentication information in Authorization, ProxyAuthorization, WWW-Authenticate, and Proxy-Authenticate header values. + + + Initializes a new instance of the class. + The scheme to use for authorization. + + + Initializes a new instance of the class. + The scheme to use for authorization. + The credentials containing the authentication information of the user agent for the resource being requested. + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Gets the credentials containing the authentication information of the user agent for the resource being requested. + Returns .The credentials containing the authentication information. + + + Converts a string to an instance. + Returns .An instance. + A string that represents authentication header value information. + + is a null reference. + + is not valid authentication header value information. + + + Gets the scheme to use for authorization. + Returns .The scheme to use for authorization. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents the value of the Cache-Control header. + + + Initializes a new instance of the class. + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Cache-extension tokens, each with an optional assigned value. + Returns .A collection of cache-extension tokens each with an optional assigned value. + + + Serves as a hash function for a object. + Returns .A hash code for the current object. + + + The maximum age, specified in seconds, that the HTTP client is willing to accept a response. + Returns .The time in seconds. + + + Whether an HTTP client is willing to accept a response that has exceeded its expiration time. + Returns .true if the HTTP client is willing to accept a response that has exceed the expiration time; otherwise, false. + + + The maximum time, in seconds, an HTTP client is willing to accept a response that has exceeded its expiration time. + Returns .The time in seconds. + + + The freshness lifetime, in seconds, that an HTTP client is willing to accept a response. + Returns .The time in seconds. + + + Whether the origin server require revalidation of a cache entry on any subsequent use when the cache entry becomes stale. + Returns .true if the origin server requires revalidation of a cache entry on any subsequent use when the entry becomes stale; otherwise, false. + + + Whether an HTTP client is willing to accept a cached response. + Returns .true if the HTTP client is willing to accept a cached response; otherwise, false. + + + A collection of fieldnames in the "no-cache" directive in a cache-control header field on an HTTP response. + Returns .A collection of fieldnames. + + + Whether a cache must not store any part of either the HTTP request mressage or any response. + Returns .true if a cache must not store any part of either the HTTP request mressage or any response; otherwise, false. + + + Whether a cache or proxy must not change any aspect of the entity-body. + Returns .true if a cache or proxy must not change any aspect of the entity-body; otherwise, false. + + + Whether a cache should either respond using a cached entry that is consistent with the other constraints of the HTTP request, or respond with a 504 (Gateway Timeout) status. + Returns .true if a cache should either respond using a cached entry that is consistent with the other constraints of the HTTP request, or respond with a 504 (Gateway Timeout) status; otherwise, false. + + + Converts a string to an instance. + Returns .A instance. + A string that represents cache-control header value information. + + is a null reference. + + is not valid cache-control header value information. + + + Whether all or part of the HTTP response message is intended for a single user and must not be cached by a shared cache. + Returns .true if the HTTP response message is intended for a single user and must not be cached by a shared cache; otherwise, false. + + + A collection fieldnames in the "private" directive in a cache-control header field on an HTTP response. + Returns .A collection of fieldnames. + + + Whether the origin server require revalidation of a cache entry on any subsequent use when the cache entry becomes stale for shared user agent caches. + Returns .true if the origin server requires revalidation of a cache entry on any subsequent use when the entry becomes stale for shared user agent caches; otherwise, false. + + + Whether an HTTP response may be cached by any cache, even if it would normally be non-cacheable or cacheable only within a non- shared cache. + Returns .true if the HTTP response may be cached by any cache, even if it would normally be non-cacheable or cacheable only within a non- shared cache; otherwise, false. + + + The shared maximum age, specified in seconds, in an HTTP response that overrides the "max-age" directive in a cache-control header or an Expires header for a shared cache. + Returns .The time in seconds. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents the value of the Content-Disposition header. + + + Initializes a new instance of the class. + A . + + + Initializes a new instance of the class. + A string that contains a . + + + The date at which the file was created. + Returns .The file creation date. + + + The disposition type for a content body part. + Returns .The disposition type. + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + A suggestion for how to construct a filename for storing the message payload to be used if the entity is detached and stored in a separate file. + Returns .A suggested filename. + + + A suggestion for how to construct filenames for storing message payloads to be used if the entities are detached and stored in a separate files. + Returns .A suggested filename of the form filename*. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + The date at which the file was last modified. + Returns .The file modification date. + + + The name for a content body part. + Returns .The name for the content body part. + + + A set of parameters included the Content-Disposition header. + Returns .A collection of parameters. + + + Converts a string to an instance. + Returns .An instance. + A string that represents content disposition header value information. + + is a null reference. + + is not valid content disposition header value information. + + + The date the file was last read. + Returns .The last read date. + + + The approximate size, in bytes, of the file. + Returns .The approximate size, in bytes. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents the value of the Content-Range header. + + + Initializes a new instance of the class. + The starting or ending point of the range, in bytes. + + + Initializes a new instance of the class. + The position, in bytes, at which to start sending data. + The position, in bytes, at which to stop sending data. + + + Initializes a new instance of the class. + The position, in bytes, at which to start sending data. + The position, in bytes, at which to stop sending data. + The starting or ending point of the range, in bytes. + + + Determines whether the specified Object is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Gets the position at which to start sending data. + Returns .The position, in bytes, at which to start sending data. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Gets whether the Content-Range header has a length specified. + Returns .true if the Content-Range has a length specified; otherwise, false. + + + Gets whether the Content-Range has a range specified. + Returns .true if the Content-Range has a range specified; otherwise, false. + + + Gets the length of the full entity-body. + Returns .The length of the full entity-body. + + + Converts a string to an instance. + Returns .An instance. + A string that represents content range header value information. + + is a null reference. + + is not valid content range header value information. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Gets the position at which to stop sending data. + Returns .The position at which to stop sending data. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + The range units used. + Returns .A that contains range units. + + + Represents an entity-tag header value. + + + Initializes a new instance of the class. + A string that contains an . + + + Initializes a new instance of the class. + A string that contains an . + A value that indicates if this entity-tag header is a weak validator. If the entity-tag header is weak validator, then should be set to true. If the entity-tag header is a strong validator, then should be set to false. + + + Gets the entity-tag header value. + Returns . + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Gets whether the entity-tag is prefaced by a weakness indicator. + Returns .true if the entity-tag is prefaced by a weakness indicator; otherwise, false. + + + Converts a string to an instance. + Returns .An instance. + A string that represents entity tag header value information. + + is a null reference. + + is not valid entity tag header value information. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Gets the opaque quoted string. + Returns .An opaque quoted string. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents the collection of Content Headers as defined in RFC 2616. + + + Gets the value of the Allow content header on an HTTP response. + Returns .The value of the Allow header on an HTTP response. + + + Gets the value of the Content-Disposition content header on an HTTP response. + Returns .The value of the Content-Disposition content header on an HTTP response. + + + Gets the value of the Content-Encoding content header on an HTTP response. + Returns .The value of the Content-Encoding content header on an HTTP response. + + + Gets the value of the Content-Language content header on an HTTP response. + Returns .The value of the Content-Language content header on an HTTP response. + + + Gets or sets the value of the Content-Length content header on an HTTP response. + Returns .The value of the Content-Length content header on an HTTP response. + + + Gets or sets the value of the Content-Location content header on an HTTP response. + Returns .The value of the Content-Location content header on an HTTP response. + + + Gets or sets the value of the Content-MD5 content header on an HTTP response. + Returns .The value of the Content-MD5 content header on an HTTP response. + + + Gets or sets the value of the Content-Range content header on an HTTP response. + Returns .The value of the Content-Range content header on an HTTP response. + + + Gets or sets the value of the Content-Type content header on an HTTP response. + Returns .The value of the Content-Type content header on an HTTP response. + + + Gets or sets the value of the Expires content header on an HTTP response. + Returns .The value of the Expires content header on an HTTP response. + + + Gets or sets the value of the Last-Modified content header on an HTTP response. + Returns .The value of the Last-Modified content header on an HTTP response. + + + A collection of headers and their values as defined in RFC 2616. + + + Initializes a new instance of the class. + + + Adds the specified header and its values into the collection. + The header to add to the collection. + A list of header values to add to the collection. + + + Adds the specified header and its value into the collection. + The header to add to the collection. + The content of the header. + + + Removes all headers from the collection. + + + Returns if a specific header exists in the collection. + Returns .true is the specified header exists in the collection; otherwise false. + The specific header. + + + Returns an enumerator that can iterate through the instance. + Returns .An enumerator for the . + + + Returns all header values for a specified header stored in the collection. + Returns .An array of header strings. + The specified header to return values for. + + + Removes the specified header from the collection. + Returns . + The name of the header to remove from the collection. + + + Gets an enumerator that can iterate through a . + Returns .An instance of an implementation of an that can iterate through a . + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Returns a value that indicates whether the specified header and its values were added to the collection without validating the provided information. + Returns .true if the specified header and could be added to the collection; otherwise false. + The header to add to the collection. + The values of the header. + + + Returns a value that indicates whether the specified header and its value were added to the collection without validating the provided information. + Returns .true if the specified header and could be added to the collection; otherwise false. + The header to add to the collection. + The content of the header. + + + Return if a specified header and specified values are stored in the collection. + Returns .true is the specified header and values are stored in the collection; otherwise false. + The specified header. + The specified header values. + + + Represents a collection of header values. + + + + + + Returns . + + + + Returns . + + + Returns . + + + Returns . + + + + Returns . + + + Returns . + + + Returns a string that represents the current XXX object. + Returns .A string that represents the current object. + + + Determines whether a string is valid XXX information. + Returns . + The string to validate. + + + Represents the collection of Request Headers as defined in RFC 2616. + + + Gets the value of the Accept header for an HTTP request. + Returns .The value of the Accept header for an HTTP request. + + + Gets the value of the Accept-Charset header for an HTTP request. + Returns .The value of the Accept-Charset header for an HTTP request. + + + Gets the value of the Accept-Encoding header for an HTTP request. + Returns .The value of the Accept-Encoding header for an HTTP request. + + + Gets the value of the Accept-Language header for an HTTP request. + Returns .The value of the Accept-Language header for an HTTP request. + + + Gets or sets the value of the Authorization header for an HTTP request. + Returns .The value of the Authorization header for an HTTP request. + + + Gets or sets the value of the Cache-Control header for an HTTP request. + Returns .The value of the Cache-Control header for an HTTP request. + + + Gets the value of the Connection header for an HTTP request. + Returns .The value of the Connection header for an HTTP request. + + + Gets or sets a value that indicates if the Connection header for an HTTP request contains Close. + Returns .true if the Connection header contains Close, otherwise false. + + + Gets or sets the value of the Date header for an HTTP request. + Returns .The value of the Date header for an HTTP request. + + + Gets the value of the Expect header for an HTTP request. + Returns .The value of the Expect header for an HTTP request. + + + Gets or sets a value that indicates if the Expect header for an HTTP request contains Continue. + Returns .true if the Expect header contains Continue, otherwise false. + + + Gets or sets the value of the From header for an HTTP request. + Returns .The value of the From header for an HTTP request. + + + Gets or sets the value of the Host header for an HTTP request. + Returns .The value of the Host header for an HTTP request. + + + Gets the value of the If-Match header for an HTTP request. + Returns .The value of the If-Match header for an HTTP request. + + + Gets or sets the value of the If-Modified-Since header for an HTTP request. + Returns .The value of the If-Modified-Since header for an HTTP request. + + + Gets the value of the If-None-Match header for an HTTP request. + Returns .Gets the value of the If-None-Match header for an HTTP request. + + + Gets or sets the value of the If-Range header for an HTTP request. + Returns .The value of the If-Range header for an HTTP request. + + + Gets or sets the value of the If-Unmodified-Since header for an HTTP request. + Returns .The value of the If-Unmodified-Since header for an HTTP request. + + + Gets or sets the value of the Max-Forwards header for an HTTP request. + Returns .The value of the Max-Forwards header for an HTTP request. + + + Gets the value of the Pragma header for an HTTP request. + Returns .The value of the Pragma header for an HTTP request. + + + Gets or sets the value of the Proxy-Authorization header for an HTTP request. + Returns .The value of the Proxy-Authorization header for an HTTP request. + + + Gets or sets the value of the Range header for an HTTP request. + Returns .The value of the Range header for an HTTP request. + + + Gets or sets the value of the Referer header for an HTTP request. + Returns .The value of the Referer header for an HTTP request. + + + Gets the value of the TE header for an HTTP request. + Returns .The value of the TE header for an HTTP request. + + + Gets the value of the Trailer header for an HTTP request. + Returns .The value of the Trailer header for an HTTP request. + + + Gets the value of the Transfer-Encoding header for an HTTP request. + Returns .The value of the Transfer-Encoding header for an HTTP request. + + + Gets or sets a value that indicates if the Transfer-Encoding header for an HTTP request contains chunked. + Returns .true if the Transfer-Encoding header contains chunked, otherwise false. + + + Gets the value of the Upgrade header for an HTTP request. + Returns .The value of the Upgrade header for an HTTP request. + + + Gets the value of the User-Agent header for an HTTP request. + Returns .The value of the User-Agent header for an HTTP request. + + + Gets the value of the Via header for an HTTP request. + Returns .The value of the Via header for an HTTP request. + + + Gets the value of the Warning header for an HTTP request. + Returns .The value of the Warning header for an HTTP request. + + + Represents the collection of Response Headers as defined in RFC 2616. + + + Gets the value of the Accept-Ranges header for an HTTP response. + Returns .The value of the Accept-Ranges header for an HTTP response. + + + Gets or sets the value of the Age header for an HTTP response. + Returns .The value of the Age header for an HTTP response. + + + Gets or sets the value of the Cache-Control header for an HTTP response. + Returns .The value of the Cache-Control header for an HTTP response. + + + Gets the value of the Connection header for an HTTP response. + Returns .The value of the Connection header for an HTTP response. + + + Gets or sets a value that indicates if the Connection header for an HTTP response contains Close. + Returns .true if the Connection header contains Close, otherwise false. + + + Gets or sets the value of the Date header for an HTTP response. + Returns .The value of the Date header for an HTTP response. + + + Gets or sets the value of the ETag header for an HTTP response. + Returns .The value of the ETag header for an HTTP response. + + + Gets or sets the value of the Location header for an HTTP response. + Returns .The value of the Location header for an HTTP response. + + + Gets the value of the Pragma header for an HTTP response. + Returns .The value of the Pragma header for an HTTP response. + + + Gets the value of the Proxy-Authenticate header for an HTTP response. + Returns .The value of the Proxy-Authenticate header for an HTTP response. + + + Gets or sets the value of the Retry-After header for an HTTP response. + Returns .The value of the Retry-After header for an HTTP response. + + + Gets the value of the Server header for an HTTP response. + Returns .The value of the Server header for an HTTP response. + + + Gets the value of the Trailer header for an HTTP response. + Returns .The value of the Trailer header for an HTTP response. + + + Gets the value of the Transfer-Encoding header for an HTTP response. + Returns .The value of the Transfer-Encoding header for an HTTP response. + + + Gets or sets a value that indicates if the Transfer-Encoding header for an HTTP response contains chunked. + Returns .true if the Transfer-Encoding header contains chunked, otherwise false. + + + Gets the value of the Upgrade header for an HTTP response. + Returns .The value of the Upgrade header for an HTTP response. + + + Gets the value of the Vary header for an HTTP response. + Returns .The value of the Vary header for an HTTP response. + + + Gets the value of the Via header for an HTTP response. + Returns .The value of the Via header for an HTTP response. + + + Gets the value of the Warning header for an HTTP response. + Returns .The value of the Warning header for an HTTP response. + + + Gets the value of the WWW-Authenticate header for an HTTP response. + Returns .The value of the WWW-Authenticate header for an HTTP response. + + + Represents a media-type as defined in the RFC 2616. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Gets or sets the character set. + Returns .The character set. + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Gets or sets the media-type header value. + Returns .The media-type header value. + + + Gets or sets the media-type header value parameters. + Returns .The media-type header value parameters. + + + Converts a string to an instance. + Returns .An instance. + A string that represents media type header value information. + + is a null reference. + + is not valid media type header value information. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents a content-type header value with an additional quality. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Converts a string to an instance. + Returns .An instance. + A string that represents media type with quality header value information. + + is a null reference. + + is not valid media type with quality header value information. + + + Returns . + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents a name/value pair. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The header name. + + + Initializes a new instance of the class. + The header name. + The header value. + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Gets the header name. + Returns .The header name. + + + Converts a string to an instance. + Returns .An instance. + A string that represents name value header value information. + + is a null reference. + + is not valid name value header value information. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Gets the header value. + Returns .The header value. + + + Represents a name/value pair with parameters. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Returns . + + + Converts a string to an instance. + Returns .An instance. + A string that represents name value with parameter header value information. + + is a null reference. + + is not valid name value with parameter header value information. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents a product token in header value. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Gets the name of the product token. + Returns .The name of the product token. + + + Converts a string to an instance. + Returns .An instance. + A string that represents product header value information. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Gets the version of the product token. + Returns .The version of the product token. + + + Represents a value which can either be a product or a comment. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Returns . + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Converts a string to an instance. + Returns .An instance. + A string that represents product info header value information. + + is a null reference. + + is not valid product info header value information. + + + Returns . + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents a header value which can either be a date/time or an entity-tag value. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Returns . + + + Returns . + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Converts a string to an instance. + Returns .An instance. + A string that represents range condition header value information. + + is a null reference. + + is not valid range Condition header value information. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents the value of the Range header. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Converts a string to an instance. + Returns .An instance. + A string that represents range header value information. + + is a null reference. + + is not valid range header value information. + + + Returns . + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + he string to validate. + The version of the string. + + + Returns . + + + Represents a byte-range header value. + + + Initializes a new instance of the class. + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Returns . + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns . + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Represents a header value which can either be a date/time or a timespan value. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Returns . + + + Returns . + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Converts a string to an instance. + Returns .An instance. + A string that represents retry condition header value information. + + is a null reference. + + is not valid retry condition header value information. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents a string header value with an optional quality. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Determines whether the specified Object is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Converts a string to an instance. + Returns .An instance. + A string that represents quality header value information. + + is a null reference. + + is not valid string with quality header value information. + + + Returns . + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Returns . + + + Represents a transfer-coding header value. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Determines whether the specified Object is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Gets the transfer-coding parameters. + Returns .The transfer-coding parameters. + + + Converts a string to an instance. + Returns .An instance. + A string that represents transfer-coding header value information. + + is a null reference. + + is not valid transfer-coding header value information. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Gets the transfer-coding value. + Returns .The transfer-coding value. + + + Represents a transfer-coding header value with optional quality. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + + + Converts a string to an instance. + Returns .An instance. + A string that represents transfer-coding value information. + + is a null reference. + + is not valid transfer-coding with quality header value information. + + + Returns . + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents the value of a Via header. + + + Initializes a new instance of the class. + The protocol version of the received protocol. + The host and port that the request or response was received by. + + + Initializes a new instance of the class. + The protocol version of the received protocol. + The host and port that the request or response was received by. + The protocol name of the received protocol. + + + Initializes a new instance of the class. + The protocol version of the received protocol. + The host and port that the request or response was received by. + The protocol name of the received protocol. + The comment field used to identify the software of the recipient proxy or gateway. + + + Gets the comment field used to identify the software of the recipient proxy or gateway. + Returns .The comment field used to identify the software of the recipient proxy or gateway. + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .Returns a hash code for the current object. + + + Converts a string to an instance. + Returns .An instance. + A string that represents via header value information. + + is a null reference. + + is not valid via header value information. + + + Gets the protocol name of the received protocol. + Returns .The protocol name. + + + Gets the protocol version of the received protocol. + Returns .The protocol version. + + + Gets the host and port that the request or response was received by. + Returns .The host and port that the request or response was received by. + + + Creates a new object that is a copy of the current instance. + Returns .A copy of the current instance. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + Represents a warning value used by the Warning header. + + + Initializes a new instance of the class. + The specific warning code. + The host that attached the warning. + A quoted-string containing the warning text. + + + Initializes a new instance of the class. + The specific warning code. + The host that attached the warning. + A quoted-string containing the warning text. + The date/time stamp of the warning. + + + Gets the host that attached the warning. + Returns .The host that attached the warning. + + + Gets the specific warning code. + Returns .The specific warning code. + + + Gets the date/time stamp of the warning. + Returns .The date/time stamp of the warning. + + + Determines whether the specified is equal to the current object. + Returns .true if the specified is equal to the current object; otherwise, false. + The object to compare with the current object. + + + Serves as a hash function for an object. + Returns .A hash code for the current object. + + + Converts a string to an instance. + Returns an instance. + A string that represents authentication header value information. + + is a null reference. + + is not valid authentication header value information. + + + Creates a new object that is a copy of the current instance. + Returns .Returns a copy of the current instance. + + + Gets a quoted-string containing the warning text. + Returns .A quoted-string containing the warning text. + + + Returns a string that represents the current object. + Returns .A string that represents the current object. + + + Determines whether a string is valid information. + Returns .true if is valid information; otherwise, false. + The string to validate. + The version of the string. + + + \ No newline at end of file diff --git a/packages/Microsoft.Net.Http.2.0.20710.0/lib/net45/_._ b/packages/Microsoft.Net.Http.2.0.20710.0/lib/net45/_._ new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/packages/Microsoft.Net.Http.2.0.20710.0/lib/net45/_._ @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/Microsoft.Web.Infrastructure.1.0.0.0/Microsoft.Web.Infrastructure.1.0.0.0.nupkg b/packages/Microsoft.Web.Infrastructure.1.0.0.0/Microsoft.Web.Infrastructure.1.0.0.0.nupkg new file mode 100644 index 000000000..65c273fc7 Binary files /dev/null and b/packages/Microsoft.Web.Infrastructure.1.0.0.0/Microsoft.Web.Infrastructure.1.0.0.0.nupkg differ diff --git a/packages/Microsoft.Web.Infrastructure.1.0.0.0/lib/net40/Microsoft.Web.Infrastructure.dll b/packages/Microsoft.Web.Infrastructure.1.0.0.0/lib/net40/Microsoft.Web.Infrastructure.dll new file mode 100644 index 000000000..85f1138c5 Binary files /dev/null and b/packages/Microsoft.Web.Infrastructure.1.0.0.0/lib/net40/Microsoft.Web.Infrastructure.dll differ diff --git a/packages/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0/Content/Scripts/jquery.unobtrusive-ajax.js b/packages/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0/Content/Scripts/jquery.unobtrusive-ajax.js new file mode 100644 index 000000000..f018a607f --- /dev/null +++ b/packages/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0/Content/Scripts/jquery.unobtrusive-ajax.js @@ -0,0 +1,163 @@ +/*! +** Unobtrusive Ajax support library for jQuery +** Copyright (C) Microsoft Corporation. All rights reserved. +*/ + +/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */ +/*global window: false, jQuery: false */ + +(function ($) { + var data_click = "unobtrusiveAjaxClick", + data_validation = "unobtrusiveValidation"; + + function getFunction(code, argNames) { + var fn = window, parts = (code || "").split("."); + while (fn && parts.length) { + fn = fn[parts.shift()]; + } + if (typeof (fn) === "function") { + return fn; + } + argNames.push(code); + return Function.constructor.apply(null, argNames); + } + + function isMethodProxySafe(method) { + return method === "GET" || method === "POST"; + } + + function asyncOnBeforeSend(xhr, method) { + if (!isMethodProxySafe(method)) { + xhr.setRequestHeader("X-HTTP-Method-Override", method); + } + } + + function asyncOnSuccess(element, data, contentType) { + var mode; + + if (contentType.indexOf("application/x-javascript") !== -1) { // jQuery already executes JavaScript for us + return; + } + + mode = (element.getAttribute("data-ajax-mode") || "").toUpperCase(); + $(element.getAttribute("data-ajax-update")).each(function (i, update) { + var top; + + switch (mode) { + case "BEFORE": + top = update.firstChild; + $("
").html(data).contents().each(function () { + update.insertBefore(this, top); + }); + break; + case "AFTER": + $("
").html(data).contents().each(function () { + update.appendChild(this); + }); + break; + default: + $(update).html(data); + break; + } + }); + } + + function asyncRequest(element, options) { + var confirm, loading, method, duration; + + confirm = element.getAttribute("data-ajax-confirm"); + if (confirm && !window.confirm(confirm)) { + return; + } + + loading = $(element.getAttribute("data-ajax-loading")); + duration = element.getAttribute("data-ajax-loading-duration") || 0; + + $.extend(options, { + type: element.getAttribute("data-ajax-method") || undefined, + url: element.getAttribute("data-ajax-url") || undefined, + beforeSend: function (xhr) { + var result; + asyncOnBeforeSend(xhr, method); + result = getFunction(element.getAttribute("data-ajax-begin"), ["xhr"]).apply(this, arguments); + if (result !== false) { + loading.show(duration); + } + return result; + }, + complete: function () { + loading.hide(duration); + getFunction(element.getAttribute("data-ajax-complete"), ["xhr", "status"]).apply(this, arguments); + }, + success: function (data, status, xhr) { + asyncOnSuccess(element, data, xhr.getResponseHeader("Content-Type") || "text/html"); + getFunction(element.getAttribute("data-ajax-success"), ["data", "status", "xhr"]).apply(this, arguments); + }, + error: getFunction(element.getAttribute("data-ajax-failure"), ["xhr", "status", "error"]) + }); + + options.data.push({ name: "X-Requested-With", value: "XMLHttpRequest" }); + + method = options.type.toUpperCase(); + if (!isMethodProxySafe(method)) { + options.type = "POST"; + options.data.push({ name: "X-HTTP-Method-Override", value: method }); + } + + $.ajax(options); + } + + function validate(form) { + var validationInfo = $(form).data(data_validation); + return !validationInfo || !validationInfo.validate || validationInfo.validate(); + } + + $(document).on("click", "a[data-ajax=true]", function (evt) { + evt.preventDefault(); + asyncRequest(this, { + url: this.href, + type: "GET", + data: [] + }); + }); + + $(document).on("click", "form[data-ajax=true] input[type=image]", function (evt) { + var name = evt.target.name, + $target = $(evt.target), + form = $target.parents("form")[0], + offset = $target.offset(); + + $(form).data(data_click, [ + { name: name + ".x", value: Math.round(evt.pageX - offset.left) }, + { name: name + ".y", value: Math.round(evt.pageY - offset.top) } + ]); + + setTimeout(function () { + $(form).removeData(data_click); + }, 0); + }); + + $(document).on("click", "form[data-ajax=true] :submit", function (evt) { + var name = evt.target.name, + form = $(evt.target).parents("form")[0]; + + $(form).data(data_click, name ? [{ name: name, value: evt.target.value }] : []); + + setTimeout(function () { + $(form).removeData(data_click); + }, 0); + }); + + $(document).on("submit", "form[data-ajax=true]", function (evt) { + var clickInfo = $(this).data(data_click) || []; + evt.preventDefault(); + if (!validate(this)) { + return; + } + asyncRequest(this, { + url: this.action, + type: this.method || "GET", + data: clickInfo.concat($(this).serializeArray()) + }); + }); +}(jQuery)); \ No newline at end of file diff --git a/packages/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0/Content/Scripts/jquery.unobtrusive-ajax.min.js b/packages/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0/Content/Scripts/jquery.unobtrusive-ajax.min.js new file mode 100644 index 000000000..33e6fb34c --- /dev/null +++ b/packages/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0/Content/Scripts/jquery.unobtrusive-ajax.min.js @@ -0,0 +1,5 @@ +/* +** Unobtrusive Ajax support library for jQuery +** Copyright (C) Microsoft Corporation. All rights reserved. +*/ +(function(a){var b="unobtrusiveAjaxClick",g="unobtrusiveValidation";function c(d,b){var a=window,c=(d||"").split(".");while(a&&c.length)a=a[c.shift()];if(typeof a==="function")return a;b.push(d);return Function.constructor.apply(null,b)}function d(a){return a==="GET"||a==="POST"}function f(b,a){!d(a)&&b.setRequestHeader("X-HTTP-Method-Override",a)}function h(c,b,e){var d;if(e.indexOf("application/x-javascript")!==-1)return;d=(c.getAttribute("data-ajax-mode")||"").toUpperCase();a(c.getAttribute("data-ajax-update")).each(function(f,c){var e;switch(d){case"BEFORE":e=c.firstChild;a("
").html(b).contents().each(function(){c.insertBefore(this,e)});break;case"AFTER":a("
").html(b).contents().each(function(){c.appendChild(this)});break;default:a(c).html(b)}})}function e(b,e){var j,k,g,i;j=b.getAttribute("data-ajax-confirm");if(j&&!window.confirm(j))return;k=a(b.getAttribute("data-ajax-loading"));i=b.getAttribute("data-ajax-loading-duration")||0;a.extend(e,{type:b.getAttribute("data-ajax-method")||undefined,url:b.getAttribute("data-ajax-url")||undefined,beforeSend:function(d){var a;f(d,g);a=c(b.getAttribute("data-ajax-begin"),["xhr"]).apply(this,arguments);a!==false&&k.show(i);return a},complete:function(){k.hide(i);c(b.getAttribute("data-ajax-complete"),["xhr","status"]).apply(this,arguments)},success:function(a,e,d){h(b,a,d.getResponseHeader("Content-Type")||"text/html");c(b.getAttribute("data-ajax-success"),["data","status","xhr"]).apply(this,arguments)},error:c(b.getAttribute("data-ajax-failure"),["xhr","status","error"])});e.data.push({name:"X-Requested-With",value:"XMLHttpRequest"});g=e.type.toUpperCase();if(!d(g)){e.type="POST";e.data.push({name:"X-HTTP-Method-Override",value:g})}a.ajax(e)}function i(c){var b=a(c).data(g);return!b||!b.validate||b.validate()}a(document).on("click","a[data-ajax=true]",function(a){a.preventDefault();e(this,{url:this.href,type:"GET",data:[]})});a(document).on("click","form[data-ajax=true] input[type=image]",function(c){var g=c.target.name,d=a(c.target),f=d.parents("form")[0],e=d.offset();a(f).data(b,[{name:g+".x",value:Math.round(c.pageX-e.left)},{name:g+".y",value:Math.round(c.pageY-e.top)}]);setTimeout(function(){a(f).removeData(b)},0)});a(document).on("click","form[data-ajax=true] :submit",function(c){var e=c.target.name,d=a(c.target).parents("form")[0];a(d).data(b,e?[{name:e,value:c.target.value}]:[]);setTimeout(function(){a(d).removeData(b)},0)});a(document).on("submit","form[data-ajax=true]",function(d){var c=a(this).data(b)||[];d.preventDefault();if(!i(this))return;e(this,{url:this.action,type:this.method||"GET",data:c.concat(a(this).serializeArray())})})})(jQuery); \ No newline at end of file diff --git a/packages/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0.nupkg b/packages/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0.nupkg new file mode 100644 index 000000000..fed839761 Binary files /dev/null and b/packages/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0/Microsoft.jQuery.Unobtrusive.Ajax.2.0.30116.0.nupkg differ diff --git a/packages/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0/Content/Scripts/jquery.validate.unobtrusive.js b/packages/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0/Content/Scripts/jquery.validate.unobtrusive.js new file mode 100644 index 000000000..689657b83 --- /dev/null +++ b/packages/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0/Content/Scripts/jquery.validate.unobtrusive.js @@ -0,0 +1,367 @@ +/*! +** Unobtrusive validation support library for jQuery and jQuery Validate +** Copyright (C) Microsoft Corporation. All rights reserved. +*/ + +/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */ +/*global document: false, jQuery: false */ + +(function ($) { + var $jQval = $.validator, + adapters, + data_validation = "unobtrusiveValidation"; + + function setValidationValues(options, ruleName, value) { + options.rules[ruleName] = value; + if (options.message) { + options.messages[ruleName] = options.message; + } + } + + function splitAndTrim(value) { + return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g); + } + + function escapeAttributeValue(value) { + // As mentioned on http://api.jquery.com/category/selectors/ + return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1"); + } + + function getModelPrefix(fieldName) { + return fieldName.substr(0, fieldName.lastIndexOf(".") + 1); + } + + function appendModelPrefix(value, prefix) { + if (value.indexOf("*.") === 0) { + value = value.replace("*.", prefix); + } + return value; + } + + function onError(error, inputElement) { // 'this' is the form element + var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"), + replaceAttrValue = container.attr("data-valmsg-replace"), + replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null; + + container.removeClass("field-validation-valid").addClass("field-validation-error"); + error.data("unobtrusiveContainer", container); + + if (replace) { + container.empty(); + error.removeClass("input-validation-error").appendTo(container); + } + else { + error.hide(); + } + } + + function onErrors(event, validator) { // 'this' is the form element + var container = $(this).find("[data-valmsg-summary=true]"), + list = container.find("ul"); + + if (list && list.length && validator.errorList.length) { + list.empty(); + container.addClass("validation-summary-errors").removeClass("validation-summary-valid"); + + $.each(validator.errorList, function () { + $("
  • ").html(this.message).appendTo(list); + }); + } + } + + function onSuccess(error) { // 'this' is the form element + var container = error.data("unobtrusiveContainer"), + replaceAttrValue = container.attr("data-valmsg-replace"), + replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null; + + if (container) { + container.addClass("field-validation-valid").removeClass("field-validation-error"); + error.removeData("unobtrusiveContainer"); + + if (replace) { + container.empty(); + } + } + } + + function onReset(event) { // 'this' is the form element + var $form = $(this); + $form.data("validator").resetForm(); + $form.find(".validation-summary-errors") + .addClass("validation-summary-valid") + .removeClass("validation-summary-errors"); + $form.find(".field-validation-error") + .addClass("field-validation-valid") + .removeClass("field-validation-error") + .removeData("unobtrusiveContainer") + .find(">*") // If we were using valmsg-replace, get the underlying error + .removeData("unobtrusiveContainer"); + } + + function validationInfo(form) { + var $form = $(form), + result = $form.data(data_validation), + onResetProxy = $.proxy(onReset, form); + + if (!result) { + result = { + options: { // options structure passed to jQuery Validate's validate() method + errorClass: "input-validation-error", + errorElement: "span", + errorPlacement: $.proxy(onError, form), + invalidHandler: $.proxy(onErrors, form), + messages: {}, + rules: {}, + success: $.proxy(onSuccess, form) + }, + attachValidation: function () { + $form + .unbind("reset." + data_validation, onResetProxy) + .bind("reset." + data_validation, onResetProxy) + .validate(this.options); + }, + validate: function () { // a validation function that is called by unobtrusive Ajax + $form.validate(); + return $form.valid(); + } + }; + $form.data(data_validation, result); + } + + return result; + } + + $jQval.unobtrusive = { + adapters: [], + + parseElement: function (element, skipAttach) { + /// + /// Parses a single HTML element for unobtrusive validation attributes. + /// + /// The HTML element to be parsed. + /// [Optional] true to skip attaching the + /// validation to the form. If parsing just this single element, you should specify true. + /// If parsing several elements, you should specify false, and manually attach the validation + /// to the form when you are finished. The default is false. + var $element = $(element), + form = $element.parents("form")[0], + valInfo, rules, messages; + + if (!form) { // Cannot do client-side validation without a form + return; + } + + valInfo = validationInfo(form); + valInfo.options.rules[element.name] = rules = {}; + valInfo.options.messages[element.name] = messages = {}; + + $.each(this.adapters, function () { + var prefix = "data-val-" + this.name, + message = $element.attr(prefix), + paramValues = {}; + + if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy) + prefix += "-"; + + $.each(this.params, function () { + paramValues[this] = $element.attr(prefix + this); + }); + + this.adapt({ + element: element, + form: form, + message: message, + params: paramValues, + rules: rules, + messages: messages + }); + } + }); + + $.extend(rules, { "__dummy__": true }); + + if (!skipAttach) { + valInfo.attachValidation(); + } + }, + + parse: function (selector) { + /// + /// Parses all the HTML elements in the specified selector. It looks for input elements decorated + /// with the [data-val=true] attribute value and enables validation according to the data-val-* + /// attribute values. + /// + /// Any valid jQuery selector. + var $forms = $(selector) + .parents("form") + .andSelf() + .add($(selector).find("form")) + .filter("form"); + + $(selector).find(":input[data-val=true]").each(function () { + $jQval.unobtrusive.parseElement(this, true); + }); + + $forms.each(function () { + var info = validationInfo(this); + if (info) { + info.attachValidation(); + } + }); + } + }; + + adapters = $jQval.unobtrusive.adapters; + + adapters.add = function (adapterName, params, fn) { + /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation. + /// The name of the adapter to be added. This matches the name used + /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name). + /// [Optional] An array of parameter names (strings) that will + /// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and + /// mmmm is the parameter name). + /// The function to call, which adapts the values from the HTML + /// attributes into jQuery Validate rules and/or messages. + /// + if (!fn) { // Called with no params, just a function + fn = params; + params = []; + } + this.push({ name: adapterName, params: params, adapt: fn }); + return this; + }; + + adapters.addBool = function (adapterName, ruleName) { + /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where + /// the jQuery Validate validation rule has no parameter values. + /// The name of the adapter to be added. This matches the name used + /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name). + /// [Optional] The name of the jQuery Validate rule. If not provided, the value + /// of adapterName will be used instead. + /// + return this.add(adapterName, function (options) { + setValidationValues(options, ruleName || adapterName, true); + }); + }; + + adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) { + /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where + /// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and + /// one for min-and-max). The HTML parameters are expected to be named -min and -max. + /// The name of the adapter to be added. This matches the name used + /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name). + /// The name of the jQuery Validate rule to be used when you only + /// have a minimum value. + /// The name of the jQuery Validate rule to be used when you only + /// have a maximum value. + /// The name of the jQuery Validate rule to be used when you + /// have both a minimum and maximum value. + /// [Optional] The name of the HTML attribute that + /// contains the minimum value. The default is "min". + /// [Optional] The name of the HTML attribute that + /// contains the maximum value. The default is "max". + /// + return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) { + var min = options.params.min, + max = options.params.max; + + if (min && max) { + setValidationValues(options, minMaxRuleName, [min, max]); + } + else if (min) { + setValidationValues(options, minRuleName, min); + } + else if (max) { + setValidationValues(options, maxRuleName, max); + } + }); + }; + + adapters.addSingleVal = function (adapterName, attribute, ruleName) { + /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where + /// the jQuery Validate validation rule has a single value. + /// The name of the adapter to be added. This matches the name used + /// in the data-val-nnnn HTML attribute(where nnnn is the adapter name). + /// [Optional] The name of the HTML attribute that contains the value. + /// The default is "val". + /// [Optional] The name of the jQuery Validate rule. If not provided, the value + /// of adapterName will be used instead. + /// + return this.add(adapterName, [attribute || "val"], function (options) { + setValidationValues(options, ruleName || adapterName, options.params[attribute]); + }); + }; + + $jQval.addMethod("__dummy__", function (value, element, params) { + return true; + }); + + $jQval.addMethod("regex", function (value, element, params) { + var match; + if (this.optional(element)) { + return true; + } + + match = new RegExp(params).exec(value); + return (match && (match.index === 0) && (match[0].length === value.length)); + }); + + $jQval.addMethod("nonalphamin", function (value, element, nonalphamin) { + var match; + if (nonalphamin) { + match = value.match(/\W/g); + match = match && match.length >= nonalphamin; + } + return match; + }); + + adapters.addSingleVal("accept", "exts").addSingleVal("regex", "pattern"); + adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"); + adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range"); + adapters.add("equalto", ["other"], function (options) { + var prefix = getModelPrefix(options.element.name), + other = options.params.other, + fullOtherName = appendModelPrefix(other, prefix), + element = $(options.form).find(":input[name='" + escapeAttributeValue(fullOtherName) + "']")[0]; + + setValidationValues(options, "equalTo", element); + }); + adapters.add("required", function (options) { + // jQuery Validate equates "required" with "mandatory" for checkbox elements + if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") { + setValidationValues(options, "required", true); + } + }); + adapters.add("remote", ["url", "type", "additionalfields"], function (options) { + var value = { + url: options.params.url, + type: options.params.type || "GET", + data: {} + }, + prefix = getModelPrefix(options.element.name); + + $.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) { + var paramName = appendModelPrefix(fieldName, prefix); + value.data[paramName] = function () { + return $(options.form).find(":input[name='" + escapeAttributeValue(paramName) + "']").val(); + }; + }); + + setValidationValues(options, "remote", value); + }); + adapters.add("password", ["min", "nonalphamin", "regex"], function (options) { + if (options.params.min) { + setValidationValues(options, "minlength", options.params.min); + } + if (options.params.nonalphamin) { + setValidationValues(options, "nonalphamin", options.params.nonalphamin); + } + if (options.params.regex) { + setValidationValues(options, "regex", options.params.regex); + } + }); + + $(function () { + $jQval.unobtrusive.parse(document); + }); +} (jQuery)); \ No newline at end of file diff --git a/packages/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0/Content/Scripts/jquery.validate.unobtrusive.min.js b/packages/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0/Content/Scripts/jquery.validate.unobtrusive.min.js new file mode 100644 index 000000000..c458f7419 --- /dev/null +++ b/packages/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0/Content/Scripts/jquery.validate.unobtrusive.min.js @@ -0,0 +1,5 @@ +/* +** Unobtrusive validation support library for jQuery and jQuery Validate +** Copyright (C) Microsoft Corporation. All rights reserved. +*/ +(function(a){var d=a.validator,b,e="unobtrusiveValidation";function c(a,b,c){a.rules[b]=c;if(a.message)a.messages[b]=a.message}function j(a){return a.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function f(a){return a.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g,"\\$1")}function h(a){return a.substr(0,a.lastIndexOf(".")+1)}function g(a,b){if(a.indexOf("*.")===0)a=a.replace("*.",b);return a}function m(c,e){var b=a(this).find("[data-valmsg-for='"+f(e[0].name)+"']"),d=b.attr("data-valmsg-replace"),g=d?a.parseJSON(d)!==false:null;b.removeClass("field-validation-valid").addClass("field-validation-error");c.data("unobtrusiveContainer",b);if(g){b.empty();c.removeClass("input-validation-error").appendTo(b)}else c.hide()}function l(e,d){var c=a(this).find("[data-valmsg-summary=true]"),b=c.find("ul");if(b&&b.length&&d.errorList.length){b.empty();c.addClass("validation-summary-errors").removeClass("validation-summary-valid");a.each(d.errorList,function(){a("
  • ").html(this.message).appendTo(b)})}}function k(d){var b=d.data("unobtrusiveContainer"),c=b.attr("data-valmsg-replace"),e=c?a.parseJSON(c):null;if(b){b.addClass("field-validation-valid").removeClass("field-validation-error");d.removeData("unobtrusiveContainer");e&&b.empty()}}function n(){var b=a(this);b.data("validator").resetForm();b.find(".validation-summary-errors").addClass("validation-summary-valid").removeClass("validation-summary-errors");b.find(".field-validation-error").addClass("field-validation-valid").removeClass("field-validation-error").removeData("unobtrusiveContainer").find(">*").removeData("unobtrusiveContainer")}function i(c){var b=a(c),d=b.data(e),f=a.proxy(n,c);if(!d){d={options:{errorClass:"input-validation-error",errorElement:"span",errorPlacement:a.proxy(m,c),invalidHandler:a.proxy(l,c),messages:{},rules:{},success:a.proxy(k,c)},attachValidation:function(){b.unbind("reset."+e,f).bind("reset."+e,f).validate(this.options)},validate:function(){b.validate();return b.valid()}};b.data(e,d)}return d}d.unobtrusive={adapters:[],parseElement:function(b,h){var d=a(b),f=d.parents("form")[0],c,e,g;if(!f)return;c=i(f);c.options.rules[b.name]=e={};c.options.messages[b.name]=g={};a.each(this.adapters,function(){var c="data-val-"+this.name,i=d.attr(c),h={};if(i!==undefined){c+="-";a.each(this.params,function(){h[this]=d.attr(c+this)});this.adapt({element:b,form:f,message:i,params:h,rules:e,messages:g})}});a.extend(e,{__dummy__:true});!h&&c.attachValidation()},parse:function(b){var c=a(b).parents("form").andSelf().add(a(b).find("form")).filter("form");a(b).find(":input[data-val=true]").each(function(){d.unobtrusive.parseElement(this,true)});c.each(function(){var a=i(this);a&&a.attachValidation()})}};b=d.unobtrusive.adapters;b.add=function(c,a,b){if(!b){b=a;a=[]}this.push({name:c,params:a,adapt:b});return this};b.addBool=function(a,b){return this.add(a,function(d){c(d,b||a,true)})};b.addMinMax=function(e,g,f,a,d,b){return this.add(e,[d||"min",b||"max"],function(b){var e=b.params.min,d=b.params.max;if(e&&d)c(b,a,[e,d]);else if(e)c(b,g,e);else d&&c(b,f,d)})};b.addSingleVal=function(a,b,d){return this.add(a,[b||"val"],function(e){c(e,d||a,e.params[b])})};d.addMethod("__dummy__",function(){return true});d.addMethod("regex",function(b,c,d){var a;if(this.optional(c))return true;a=(new RegExp(d)).exec(b);return a&&a.index===0&&a[0].length===b.length});d.addMethod("nonalphamin",function(c,d,b){var a;if(b){a=c.match(/\W/g);a=a&&a.length>=b}return a});b.addSingleVal("accept","exts").addSingleVal("regex","pattern");b.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");b.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range");b.add("equalto",["other"],function(b){var i=h(b.element.name),j=b.params.other,d=g(j,i),e=a(b.form).find(":input[name='"+f(d)+"']")[0];c(b,"equalTo",e)});b.add("required",function(a){(a.element.tagName.toUpperCase()!=="INPUT"||a.element.type.toUpperCase()!=="CHECKBOX")&&c(a,"required",true)});b.add("remote",["url","type","additionalfields"],function(b){var d={url:b.params.url,type:b.params.type||"GET",data:{}},e=h(b.element.name);a.each(j(b.params.additionalfields||b.element.name),function(i,h){var c=g(h,e);d.data[c]=function(){return a(b.form).find(":input[name='"+f(c)+"']").val()}});c(b,"remote",d)});b.add("password",["min","nonalphamin","regex"],function(a){a.params.min&&c(a,"minlength",a.params.min);a.params.nonalphamin&&c(a,"nonalphamin",a.params.nonalphamin);a.params.regex&&c(a,"regex",a.params.regex)});a(function(){d.unobtrusive.parse(document)})})(jQuery); \ No newline at end of file diff --git a/packages/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0.nupkg b/packages/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0.nupkg new file mode 100644 index 000000000..4be29be3b Binary files /dev/null and b/packages/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0/Microsoft.jQuery.Unobtrusive.Validation.2.0.30116.0.nupkg differ diff --git a/packages/Modernizr.2.6.2/Content/Scripts/modernizr-2.6.2.js b/packages/Modernizr.2.6.2/Content/Scripts/modernizr-2.6.2.js new file mode 100644 index 000000000..56a00220b --- /dev/null +++ b/packages/Modernizr.2.6.2/Content/Scripts/modernizr-2.6.2.js @@ -0,0 +1,1393 @@ +/*! + * Modernizr v2.6.2 + * www.modernizr.com + * + * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton + * Available under the BSD and MIT licenses: www.modernizr.com/license/ + */ + +/* + * Modernizr tests which native CSS3 and HTML5 features are available in + * the current UA and makes the results available to you in two ways: + * as properties on a global Modernizr object, and as classes on the + * element. This information allows you to progressively enhance + * your pages with a granular level of control over the experience. + * + * Modernizr has an optional (not included) conditional resource loader + * called Modernizr.load(), based on Yepnope.js (yepnopejs.com). + * To get a build that includes Modernizr.load(), as well as choosing + * which tests to include, go to www.modernizr.com/download/ + * + * Authors Faruk Ates, Paul Irish, Alex Sexton + * Contributors Ryan Seddon, Ben Alman + */ + +window.Modernizr = (function( window, document, undefined ) { + + var version = '2.6.2', + + Modernizr = {}, + + /*>>cssclasses*/ + // option for enabling the HTML classes to be added + enableClasses = true, + /*>>cssclasses*/ + + docElement = document.documentElement, + + /** + * Create our "modernizr" element that we do most feature tests on. + */ + mod = 'modernizr', + modElem = document.createElement(mod), + mStyle = modElem.style, + + /** + * Create the input element for various Web Forms feature tests. + */ + inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ , + + /*>>smile*/ + smile = ':)', + /*>>smile*/ + + toString = {}.toString, + + // TODO :: make the prefixes more granular + /*>>prefixes*/ + // List of property values to set for css tests. See ticket #21 + prefixes = ' -webkit- -moz- -o- -ms- '.split(' '), + /*>>prefixes*/ + + /*>>domprefixes*/ + // Following spec is to expose vendor-specific style properties as: + // elem.style.WebkitBorderRadius + // and the following would be incorrect: + // elem.style.webkitBorderRadius + + // Webkit ghosts their properties in lowercase but Opera & Moz do not. + // Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+ + // erik.eae.net/archives/2008/03/10/21.48.10/ + + // More here: github.com/Modernizr/Modernizr/issues/issue/21 + omPrefixes = 'Webkit Moz O ms', + + cssomPrefixes = omPrefixes.split(' '), + + domPrefixes = omPrefixes.toLowerCase().split(' '), + /*>>domprefixes*/ + + /*>>ns*/ + ns = {'svg': 'http://www.w3.org/2000/svg'}, + /*>>ns*/ + + tests = {}, + inputs = {}, + attrs = {}, + + classes = [], + + slice = classes.slice, + + featureName, // used in testing loop + + + /*>>teststyles*/ + // Inject element with style element and some CSS rules + injectElementWithStyles = function( rule, callback, nodes, testnames ) { + + var style, ret, node, docOverflow, + div = document.createElement('div'), + // After page load injecting a fake body doesn't work so check if body exists + body = document.body, + // IE6 and 7 won't return offsetWidth or offsetHeight unless it's in the body element, so we fake it. + fakeBody = body || document.createElement('body'); + + if ( parseInt(nodes, 10) ) { + // In order not to give false positives we create a node for each test + // This also allows the method to scale for unspecified uses + while ( nodes-- ) { + node = document.createElement('div'); + node.id = testnames ? testnames[nodes] : mod + (nodes + 1); + div.appendChild(node); + } + } + + // '].join(''); + div.id = mod; + // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody. + // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270 + (body ? div : fakeBody).innerHTML += style; + fakeBody.appendChild(div); + if ( !body ) { + //avoid crashing IE8, if background image is used + fakeBody.style.background = ''; + //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible + fakeBody.style.overflow = 'hidden'; + docOverflow = docElement.style.overflow; + docElement.style.overflow = 'hidden'; + docElement.appendChild(fakeBody); + } + + ret = callback(div, rule); + // If this is done after page load we don't want to remove the body so check if body exists + if ( !body ) { + fakeBody.parentNode.removeChild(fakeBody); + docElement.style.overflow = docOverflow; + } else { + div.parentNode.removeChild(div); + } + + return !!ret; + + }, + /*>>teststyles*/ + + /*>>mq*/ + // adapted from matchMedia polyfill + // by Scott Jehl and Paul Irish + // gist.github.com/786768 + testMediaQuery = function( mq ) { + + var matchMedia = window.matchMedia || window.msMatchMedia; + if ( matchMedia ) { + return matchMedia(mq).matches; + } + + var bool; + + injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) { + bool = (window.getComputedStyle ? + getComputedStyle(node, null) : + node.currentStyle)['position'] == 'absolute'; + }); + + return bool; + + }, + /*>>mq*/ + + + /*>>hasevent*/ + // + // isEventSupported determines if a given element supports the given event + // kangax.github.com/iseventsupported/ + // + // The following results are known incorrects: + // Modernizr.hasEvent("webkitTransitionEnd", elem) // false negative + // Modernizr.hasEvent("textInput") // in Webkit. github.com/Modernizr/Modernizr/issues/333 + // ... + isEventSupported = (function() { + + var TAGNAMES = { + 'select': 'input', 'change': 'input', + 'submit': 'form', 'reset': 'form', + 'error': 'img', 'load': 'img', 'abort': 'img' + }; + + function isEventSupported( eventName, element ) { + + element = element || document.createElement(TAGNAMES[eventName] || 'div'); + eventName = 'on' + eventName; + + // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those + var isSupported = eventName in element; + + if ( !isSupported ) { + // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element + if ( !element.setAttribute ) { + element = document.createElement('div'); + } + if ( element.setAttribute && element.removeAttribute ) { + element.setAttribute(eventName, ''); + isSupported = is(element[eventName], 'function'); + + // If property was created, "remove it" (by setting value to `undefined`) + if ( !is(element[eventName], 'undefined') ) { + element[eventName] = undefined; + } + element.removeAttribute(eventName); + } + } + + element = null; + return isSupported; + } + return isEventSupported; + })(), + /*>>hasevent*/ + + // TODO :: Add flag for hasownprop ? didn't last time + + // hasOwnProperty shim by kangax needed for Safari 2.0 support + _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp; + + if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) { + hasOwnProp = function (object, property) { + return _hasOwnProperty.call(object, property); + }; + } + else { + hasOwnProp = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */ + return ((property in object) && is(object.constructor.prototype[property], 'undefined')); + }; + } + + // Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js + // es5.github.com/#x15.3.4.5 + + if (!Function.prototype.bind) { + Function.prototype.bind = function bind(that) { + + var target = this; + + if (typeof target != "function") { + throw new TypeError(); + } + + var args = slice.call(arguments, 1), + bound = function () { + + if (this instanceof bound) { + + var F = function(){}; + F.prototype = target.prototype; + var self = new F(); + + var result = target.apply( + self, + args.concat(slice.call(arguments)) + ); + if (Object(result) === result) { + return result; + } + return self; + + } else { + + return target.apply( + that, + args.concat(slice.call(arguments)) + ); + + } + + }; + + return bound; + }; + } + + /** + * setCss applies given styles to the Modernizr DOM node. + */ + function setCss( str ) { + mStyle.cssText = str; + } + + /** + * setCssAll extrapolates all vendor-specific css strings. + */ + function setCssAll( str1, str2 ) { + return setCss(prefixes.join(str1 + ';') + ( str2 || '' )); + } + + /** + * is returns a boolean for if typeof obj is exactly type. + */ + function is( obj, type ) { + return typeof obj === type; + } + + /** + * contains returns a boolean for if substr is found within str. + */ + function contains( str, substr ) { + return !!~('' + str).indexOf(substr); + } + + /*>>testprop*/ + + // testProps is a generic CSS / DOM property test. + + // In testing support for a given CSS property, it's legit to test: + // `elem.style[styleName] !== undefined` + // If the property is supported it will return an empty string, + // if unsupported it will return undefined. + + // We'll take advantage of this quick test and skip setting a style + // on our modernizr element, but instead just testing undefined vs + // empty string. + + // Because the testing of the CSS property names (with "-", as + // opposed to the camelCase DOM properties) is non-portable and + // non-standard but works in WebKit and IE (but not Gecko or Opera), + // we explicitly reject properties with dashes so that authors + // developing in WebKit or IE first don't end up with + // browser-specific content by accident. + + function testProps( props, prefixed ) { + for ( var i in props ) { + var prop = props[i]; + if ( !contains(prop, "-") && mStyle[prop] !== undefined ) { + return prefixed == 'pfx' ? prop : true; + } + } + return false; + } + /*>>testprop*/ + + // TODO :: add testDOMProps + /** + * testDOMProps is a generic DOM property test; if a browser supports + * a certain property, it won't return undefined for it. + */ + function testDOMProps( props, obj, elem ) { + for ( var i in props ) { + var item = obj[props[i]]; + if ( item !== undefined) { + + // return the property name as a string + if (elem === false) return props[i]; + + // let's bind a function + if (is(item, 'function')){ + // default to autobind unless override + return item.bind(elem || obj); + } + + // return the unbound function or obj or value + return item; + } + } + return false; + } + + /*>>testallprops*/ + /** + * testPropsAll tests a list of DOM properties we want to check against. + * We specify literally ALL possible (known and/or likely) properties on + * the element including the non-vendor prefixed one, for forward- + * compatibility. + */ + function testPropsAll( prop, prefixed, elem ) { + + var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1), + props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' '); + + // did they call .prefixed('boxSizing') or are we just testing a prop? + if(is(prefixed, "string") || is(prefixed, "undefined")) { + return testProps(props, prefixed); + + // otherwise, they called .prefixed('requestAnimationFrame', window[, elem]) + } else { + props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' '); + return testDOMProps(props, prefixed, elem); + } + } + /*>>testallprops*/ + + + /** + * Tests + * ----- + */ + + // The *new* flexbox + // dev.w3.org/csswg/css3-flexbox + + tests['flexbox'] = function() { + return testPropsAll('flexWrap'); + }; + + // The *old* flexbox + // www.w3.org/TR/2009/WD-css3-flexbox-20090723/ + + tests['flexboxlegacy'] = function() { + return testPropsAll('boxDirection'); + }; + + // On the S60 and BB Storm, getContext exists, but always returns undefined + // so we actually have to call getContext() to verify + // github.com/Modernizr/Modernizr/issues/issue/97/ + + tests['canvas'] = function() { + var elem = document.createElement('canvas'); + return !!(elem.getContext && elem.getContext('2d')); + }; + + tests['canvastext'] = function() { + return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function')); + }; + + // webk.it/70117 is tracking a legit WebGL feature detect proposal + + // We do a soft detect which may false positive in order to avoid + // an expensive context creation: bugzil.la/732441 + + tests['webgl'] = function() { + return !!window.WebGLRenderingContext; + }; + + /* + * The Modernizr.touch test only indicates if the browser supports + * touch events, which does not necessarily reflect a touchscreen + * device, as evidenced by tablets running Windows 7 or, alas, + * the Palm Pre / WebOS (touch) phones. + * + * Additionally, Chrome (desktop) used to lie about its support on this, + * but that has since been rectified: crbug.com/36415 + * + * We also test for Firefox 4 Multitouch Support. + * + * For more info, see: modernizr.github.com/Modernizr/touch.html + */ + + tests['touch'] = function() { + var bool; + + if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) { + bool = true; + } else { + injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) { + bool = node.offsetTop === 9; + }); + } + + return bool; + }; + + + // geolocation is often considered a trivial feature detect... + // Turns out, it's quite tricky to get right: + // + // Using !!navigator.geolocation does two things we don't want. It: + // 1. Leaks memory in IE9: github.com/Modernizr/Modernizr/issues/513 + // 2. Disables page caching in WebKit: webk.it/43956 + // + // Meanwhile, in Firefox < 8, an about:config setting could expose + // a false positive that would throw an exception: bugzil.la/688158 + + tests['geolocation'] = function() { + return 'geolocation' in navigator; + }; + + + tests['postmessage'] = function() { + return !!window.postMessage; + }; + + + // Chrome incognito mode used to throw an exception when using openDatabase + // It doesn't anymore. + tests['websqldatabase'] = function() { + return !!window.openDatabase; + }; + + // Vendors had inconsistent prefixing with the experimental Indexed DB: + // - Webkit's implementation is accessible through webkitIndexedDB + // - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB + // For speed, we don't test the legacy (and beta-only) indexedDB + tests['indexedDB'] = function() { + return !!testPropsAll("indexedDB", window); + }; + + // documentMode logic from YUI to filter out IE8 Compat Mode + // which false positives. + tests['hashchange'] = function() { + return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7); + }; + + // Per 1.6: + // This used to be Modernizr.historymanagement but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['history'] = function() { + return !!(window.history && history.pushState); + }; + + tests['draganddrop'] = function() { + var div = document.createElement('div'); + return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div); + }; + + // FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10 + // will be supported until FF19 (2/12/13), at which time, ESR becomes FF17. + // FF10 still uses prefixes, so check for it until then. + // for more ESR info, see: mozilla.org/en-US/firefox/organizations/faq/ + tests['websockets'] = function() { + return 'WebSocket' in window || 'MozWebSocket' in window; + }; + + + // css-tricks.com/rgba-browser-support/ + tests['rgba'] = function() { + // Set an rgba() color and check the returned value + + setCss('background-color:rgba(150,255,150,.5)'); + + return contains(mStyle.backgroundColor, 'rgba'); + }; + + tests['hsla'] = function() { + // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally, + // except IE9 who retains it as hsla + + setCss('background-color:hsla(120,40%,100%,.5)'); + + return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla'); + }; + + tests['multiplebgs'] = function() { + // Setting multiple images AND a color on the background shorthand property + // and then querying the style.background property value for the number of + // occurrences of "url(" is a reliable method for detecting ACTUAL support for this! + + setCss('background:url(https://),url(https://),red url(https://)'); + + // If the UA supports multiple backgrounds, there should be three occurrences + // of the string "url(" in the return value for elemStyle.background + + return (/(url\s*\(.*?){3}/).test(mStyle.background); + }; + + + + // this will false positive in Opera Mini + // github.com/Modernizr/Modernizr/issues/396 + + tests['backgroundsize'] = function() { + return testPropsAll('backgroundSize'); + }; + + tests['borderimage'] = function() { + return testPropsAll('borderImage'); + }; + + + // Super comprehensive table about all the unique implementations of + // border-radius: muddledramblings.com/table-of-css3-border-radius-compliance + + tests['borderradius'] = function() { + return testPropsAll('borderRadius'); + }; + + // WebOS unfortunately false positives on this test. + tests['boxshadow'] = function() { + return testPropsAll('boxShadow'); + }; + + // FF3.0 will false positive on this test + tests['textshadow'] = function() { + return document.createElement('div').style.textShadow === ''; + }; + + + tests['opacity'] = function() { + // Browsers that actually have CSS Opacity implemented have done so + // according to spec, which means their return values are within the + // range of [0.0,1.0] - including the leading zero. + + setCssAll('opacity:.55'); + + // The non-literal . in this regex is intentional: + // German Chrome returns this value as 0,55 + // github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632 + return (/^0.55$/).test(mStyle.opacity); + }; + + + // Note, Android < 4 will pass this test, but can only animate + // a single property at a time + // daneden.me/2011/12/putting-up-with-androids-bullshit/ + tests['cssanimations'] = function() { + return testPropsAll('animationName'); + }; + + + tests['csscolumns'] = function() { + return testPropsAll('columnCount'); + }; + + + tests['cssgradients'] = function() { + /** + * For CSS Gradients syntax, please see: + * webkit.org/blog/175/introducing-css-gradients/ + * developer.mozilla.org/en/CSS/-moz-linear-gradient + * developer.mozilla.org/en/CSS/-moz-radial-gradient + * dev.w3.org/csswg/css3-images/#gradients- + */ + + var str1 = 'background-image:', + str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));', + str3 = 'linear-gradient(left top,#9f9, white);'; + + setCss( + // legacy webkit syntax (FIXME: remove when syntax not in use anymore) + (str1 + '-webkit- '.split(' ').join(str2 + str1) + + // standard syntax // trailing 'background-image:' + prefixes.join(str3 + str1)).slice(0, -str1.length) + ); + + return contains(mStyle.backgroundImage, 'gradient'); + }; + + + tests['cssreflections'] = function() { + return testPropsAll('boxReflect'); + }; + + + tests['csstransforms'] = function() { + return !!testPropsAll('transform'); + }; + + + tests['csstransforms3d'] = function() { + + var ret = !!testPropsAll('perspective'); + + // Webkit's 3D transforms are passed off to the browser's own graphics renderer. + // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in + // some conditions. As a result, Webkit typically recognizes the syntax but + // will sometimes throw a false positive, thus we must do a more thorough check: + if ( ret && 'webkitPerspective' in docElement.style ) { + + // Webkit allows this media query to succeed only if the feature is enabled. + // `@media (transform-3d),(-webkit-transform-3d){ ... }` + injectElementWithStyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}', function( node, rule ) { + ret = node.offsetLeft === 9 && node.offsetHeight === 3; + }); + } + return ret; + }; + + + tests['csstransitions'] = function() { + return testPropsAll('transition'); + }; + + + /*>>fontface*/ + // @font-face detection routine by Diego Perini + // javascript.nwbox.com/CSSSupport/ + + // false positives: + // WebOS github.com/Modernizr/Modernizr/issues/342 + // WP7 github.com/Modernizr/Modernizr/issues/538 + tests['fontface'] = function() { + var bool; + + injectElementWithStyles('@font-face {font-family:"font";src:url("https://")}', function( node, rule ) { + var style = document.getElementById('smodernizr'), + sheet = style.sheet || style.styleSheet, + cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : ''; + + bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0; + }); + + return bool; + }; + /*>>fontface*/ + + // CSS generated content detection + tests['generatedcontent'] = function() { + var bool; + + injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''), function( node ) { + bool = node.offsetHeight >= 3; + }); + + return bool; + }; + + + + // These tests evaluate support of the video/audio elements, as well as + // testing what types of content they support. + // + // We're using the Boolean constructor here, so that we can extend the value + // e.g. Modernizr.video // true + // Modernizr.video.ogg // 'probably' + // + // Codec values from : github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845 + // thx to NielsLeenheer and zcorpan + + // Note: in some older browsers, "no" was a return value instead of empty string. + // It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2 + // It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5 + + tests['video'] = function() { + var elem = document.createElement('video'), + bool = false; + + // IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224 + try { + if ( bool = !!elem.canPlayType ) { + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,''); + + // Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546 + bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,''); + + bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,''); + } + + } catch(e) { } + + return bool; + }; + + tests['audio'] = function() { + var elem = document.createElement('audio'), + bool = false; + + try { + if ( bool = !!elem.canPlayType ) { + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,''); + bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,''); + + // Mimetypes accepted: + // developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements + // bit.ly/iphoneoscodecs + bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/,''); + bool.m4a = ( elem.canPlayType('audio/x-m4a;') || + elem.canPlayType('audio/aac;')) .replace(/^no$/,''); + } + } catch(e) { } + + return bool; + }; + + + // In FF4, if disabled, window.localStorage should === null. + + // Normally, we could not test that directly and need to do a + // `('localStorage' in window) && ` test first because otherwise Firefox will + // throw bugzil.la/365772 if cookies are disabled + + // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem + // will throw the exception: + // QUOTA_EXCEEDED_ERRROR DOM Exception 22. + // Peculiarly, getItem and removeItem calls do not throw. + + // Because we are forced to try/catch this, we'll go aggressive. + + // Just FWIW: IE8 Compat mode supports these features completely: + // www.quirksmode.org/dom/html5.html + // But IE8 doesn't support either with local files + + tests['localstorage'] = function() { + try { + localStorage.setItem(mod, mod); + localStorage.removeItem(mod); + return true; + } catch(e) { + return false; + } + }; + + tests['sessionstorage'] = function() { + try { + sessionStorage.setItem(mod, mod); + sessionStorage.removeItem(mod); + return true; + } catch(e) { + return false; + } + }; + + + tests['webworkers'] = function() { + return !!window.Worker; + }; + + + tests['applicationcache'] = function() { + return !!window.applicationCache; + }; + + + // Thanks to Erik Dahlstrom + tests['svg'] = function() { + return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect; + }; + + // specifically for SVG inline in HTML, not within XHTML + // test page: paulirish.com/demo/inline-svg + tests['inlinesvg'] = function() { + var div = document.createElement('div'); + div.innerHTML = ''; + return (div.firstChild && div.firstChild.namespaceURI) == ns.svg; + }; + + // SVG SMIL animation + tests['smil'] = function() { + return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate'))); + }; + + // This test is only for clip paths in SVG proper, not clip paths on HTML content + // demo: srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg + + // However read the comments to dig into applying SVG clippaths to HTML content here: + // github.com/Modernizr/Modernizr/issues/213#issuecomment-1149491 + tests['svgclippaths'] = function() { + return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath'))); + }; + + /*>>webforms*/ + // input features and input types go directly onto the ret object, bypassing the tests loop. + // Hold this guy to execute in a moment. + function webforms() { + /*>>input*/ + // Run through HTML5's new input attributes to see if the UA understands any. + // We're using f which is the element created early on + // Mike Taylr has created a comprehensive resource for testing these attributes + // when applied to all input types: + // miketaylr.com/code/input-type-attr.html + // spec: www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary + + // Only input placeholder is tested while textarea's placeholder is not. + // Currently Safari 4 and Opera 11 have support only for the input placeholder + // Both tests are available in feature-detects/forms-placeholder.js + Modernizr['input'] = (function( props ) { + for ( var i = 0, len = props.length; i < len; i++ ) { + attrs[ props[i] ] = !!(props[i] in inputElem); + } + if (attrs.list){ + // safari false positive's on datalist: webk.it/74252 + // see also github.com/Modernizr/Modernizr/issues/146 + attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement); + } + return attrs; + })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' ')); + /*>>input*/ + + /*>>inputtypes*/ + // Run through HTML5's new input types to see if the UA understands any. + // This is put behind the tests runloop because it doesn't return a + // true/false like all the other tests; instead, it returns an object + // containing each input type with its corresponding true/false value + + // Big thanks to @miketaylr for the html5 forms expertise. miketaylr.com/ + Modernizr['inputtypes'] = (function(props) { + + for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) { + + inputElem.setAttribute('type', inputElemType = props[i]); + bool = inputElem.type !== 'text'; + + // We first check to see if the type we give it sticks.. + // If the type does, we feed it a textual value, which shouldn't be valid. + // If the value doesn't stick, we know there's input sanitization which infers a custom UI + if ( bool ) { + + inputElem.value = smile; + inputElem.style.cssText = 'position:absolute;visibility:hidden;'; + + if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) { + + docElement.appendChild(inputElem); + defaultView = document.defaultView; + + // Safari 2-4 allows the smiley as a value, despite making a slider + bool = defaultView.getComputedStyle && + defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' && + // Mobile android web browser has false positive, so must + // check the height to see if the widget is actually there. + (inputElem.offsetHeight !== 0); + + docElement.removeChild(inputElem); + + } else if ( /^(search|tel)$/.test(inputElemType) ){ + // Spec doesn't define any special parsing or detectable UI + // behaviors so we pass these through as true + + // Interestingly, opera fails the earlier test, so it doesn't + // even make it here. + + } else if ( /^(url|email)$/.test(inputElemType) ) { + // Real url and email support comes with prebaked validation. + bool = inputElem.checkValidity && inputElem.checkValidity() === false; + + } else { + // If the upgraded input compontent rejects the :) text, we got a winner + bool = inputElem.value != smile; + } + } + + inputs[ props[i] ] = !!bool; + } + return inputs; + })('search tel url email datetime date month week time datetime-local number range color'.split(' ')); + /*>>inputtypes*/ + } + /*>>webforms*/ + + + // End of test definitions + // ----------------------- + + + + // Run through all tests and detect their support in the current UA. + // todo: hypothetically we could be doing an array of tests and use a basic loop here. + for ( var feature in tests ) { + if ( hasOwnProp(tests, feature) ) { + // run the test, throw the return value into the Modernizr, + // then based on that boolean, define an appropriate className + // and push it into an array of classes we'll join later. + featureName = feature.toLowerCase(); + Modernizr[featureName] = tests[feature](); + + classes.push((Modernizr[featureName] ? '' : 'no-') + featureName); + } + } + + /*>>webforms*/ + // input tests need to run. + Modernizr.input || webforms(); + /*>>webforms*/ + + + /** + * addTest allows the user to define their own feature tests + * the result will be added onto the Modernizr object, + * as well as an appropriate className set on the html element + * + * @param feature - String naming the feature + * @param test - Function returning true if feature is supported, false if not + */ + Modernizr.addTest = function ( feature, test ) { + if ( typeof feature == 'object' ) { + for ( var key in feature ) { + if ( hasOwnProp( feature, key ) ) { + Modernizr.addTest( key, feature[ key ] ); + } + } + } else { + + feature = feature.toLowerCase(); + + if ( Modernizr[feature] !== undefined ) { + // we're going to quit if you're trying to overwrite an existing test + // if we were to allow it, we'd do this: + // var re = new RegExp("\\b(no-)?" + feature + "\\b"); + // docElement.className = docElement.className.replace( re, '' ); + // but, no rly, stuff 'em. + return Modernizr; + } + + test = typeof test == 'function' ? test() : test; + + if (typeof enableClasses !== "undefined" && enableClasses) { + docElement.className += ' ' + (test ? '' : 'no-') + feature; + } + Modernizr[feature] = test; + + } + + return Modernizr; // allow chaining. + }; + + + // Reset modElem.cssText to nothing to reduce memory footprint. + setCss(''); + modElem = inputElem = null; + + /*>>shiv*/ + /*! HTML5 Shiv v3.6.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */ + ;(function(window, document) { + /*jshint evil:true */ + /** Preset options */ + var options = window.html5 || {}; + + /** Used to skip problem elements */ + var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; + + /** Not all elements can be cloned in IE **/ + var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; + + /** Detect whether the browser supports default html5 styles */ + var supportsHtml5Styles; + + /** Name of the expando, to work with multiple documents or to re-shiv one document */ + var expando = '_html5shiv'; + + /** The id for the the documents expando */ + var expanID = 0; + + /** Cached data for each document */ + var expandoData = {}; + + /** Detect whether the browser supports unknown elements */ + var supportsUnknownElements; + + (function() { + try { + var a = document.createElement('a'); + a.innerHTML = ''; + //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles + supportsHtml5Styles = ('hidden' in a); + + supportsUnknownElements = a.childNodes.length == 1 || (function() { + // assign a false positive if unable to shiv + (document.createElement)('a'); + var frag = document.createDocumentFragment(); + return ( + typeof frag.cloneNode == 'undefined' || + typeof frag.createDocumentFragment == 'undefined' || + typeof frag.createElement == 'undefined' + ); + }()); + } catch(e) { + supportsHtml5Styles = true; + supportsUnknownElements = true; + } + + }()); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a style sheet with the given CSS text and adds it to the document. + * @private + * @param {Document} ownerDocument The document. + * @param {String} cssText The CSS text. + * @returns {StyleSheet} The style element. + */ + function addStyleSheet(ownerDocument, cssText) { + var p = ownerDocument.createElement('p'), + parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; + + p.innerHTML = 'x'; + return parent.insertBefore(p.lastChild, parent.firstChild); + } + + /** + * Returns the value of `html5.elements` as an array. + * @private + * @returns {Array} An array of shived element node names. + */ + function getElements() { + var elements = html5.elements; + return typeof elements == 'string' ? elements.split(' ') : elements; + } + + /** + * Returns the data associated to the given document + * @private + * @param {Document} ownerDocument The document. + * @returns {Object} An object of data. + */ + function getExpandoData(ownerDocument) { + var data = expandoData[ownerDocument[expando]]; + if (!data) { + data = {}; + expanID++; + ownerDocument[expando] = expanID; + expandoData[expanID] = data; + } + return data; + } + + /** + * returns a shived element for the given nodeName and document + * @memberOf html5 + * @param {String} nodeName name of the element + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived element. + */ + function createElement(nodeName, ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createElement(nodeName); + } + if (!data) { + data = getExpandoData(ownerDocument); + } + var node; + + if (data.cache[nodeName]) { + node = data.cache[nodeName].cloneNode(); + } else if (saveClones.test(nodeName)) { + node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); + } else { + node = data.createElem(nodeName); + } + + // Avoid adding some elements to fragments in IE < 9 because + // * Attributes like `name` or `type` cannot be set/changed once an element + // is inserted into a document/fragment + // * Link elements with `src` attributes that are inaccessible, as with + // a 403 response, will cause the tab/window to crash + // * Script elements appended to fragments will execute when their `src` + // or `text` property is set + return node.canHaveChildren && !reSkip.test(nodeName) ? data.frag.appendChild(node) : node; + } + + /** + * returns a shived DocumentFragment for the given document + * @memberOf html5 + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived DocumentFragment. + */ + function createDocumentFragment(ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createDocumentFragment(); + } + data = data || getExpandoData(ownerDocument); + var clone = data.frag.cloneNode(), + i = 0, + elems = getElements(), + l = elems.length; + for(;i>shiv*/ + + // Assign private properties to the return object with prefix + Modernizr._version = version; + + // expose these for the plugin API. Look in the source for how to join() them against your input + /*>>prefixes*/ + Modernizr._prefixes = prefixes; + /*>>prefixes*/ + /*>>domprefixes*/ + Modernizr._domPrefixes = domPrefixes; + Modernizr._cssomPrefixes = cssomPrefixes; + /*>>domprefixes*/ + + /*>>mq*/ + // Modernizr.mq tests a given media query, live against the current state of the window + // A few important notes: + // * If a browser does not support media queries at all (eg. oldIE) the mq() will always return false + // * A max-width or orientation query will be evaluated against the current state, which may change later. + // * You must specify values. Eg. If you are testing support for the min-width media query use: + // Modernizr.mq('(min-width:0)') + // usage: + // Modernizr.mq('only screen and (max-width:768)') + Modernizr.mq = testMediaQuery; + /*>>mq*/ + + /*>>hasevent*/ + // Modernizr.hasEvent() detects support for a given event, with an optional element to test on + // Modernizr.hasEvent('gesturestart', elem) + Modernizr.hasEvent = isEventSupported; + /*>>hasevent*/ + + /*>>testprop*/ + // Modernizr.testProp() investigates whether a given style property is recognized + // Note that the property names must be provided in the camelCase variant. + // Modernizr.testProp('pointerEvents') + Modernizr.testProp = function(prop){ + return testProps([prop]); + }; + /*>>testprop*/ + + /*>>testallprops*/ + // Modernizr.testAllProps() investigates whether a given style property, + // or any of its vendor-prefixed variants, is recognized + // Note that the property names must be provided in the camelCase variant. + // Modernizr.testAllProps('boxSizing') + Modernizr.testAllProps = testPropsAll; + /*>>testallprops*/ + + + /*>>teststyles*/ + // Modernizr.testStyles() allows you to add custom styles to the document and test an element afterwards + // Modernizr.testStyles('#modernizr { position:absolute }', function(elem, rule){ ... }) + Modernizr.testStyles = injectElementWithStyles; + /*>>teststyles*/ + + + /*>>prefixed*/ + // Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input + // Modernizr.prefixed('boxSizing') // 'MozBoxSizing' + + // Properties must be passed as dom-style camelcase, rather than `box-sizing` hypentated style. + // Return values will also be the camelCase variant, if you need to translate that to hypenated style use: + // + // str.replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-'); + + // If you're trying to ascertain which transition end event to bind to, you might do something like... + // + // var transEndEventNames = { + // 'WebkitTransition' : 'webkitTransitionEnd', + // 'MozTransition' : 'transitionend', + // 'OTransition' : 'oTransitionEnd', + // 'msTransition' : 'MSTransitionEnd', + // 'transition' : 'transitionend' + // }, + // transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ]; + + Modernizr.prefixed = function(prop, obj, elem){ + if(!obj) { + return testPropsAll(prop, 'pfx'); + } else { + // Testing DOM property e.g. Modernizr.prefixed('requestAnimationFrame', window) // 'mozRequestAnimationFrame' + return testPropsAll(prop, obj, elem); + } + }; + /*>>prefixed*/ + + + /*>>cssclasses*/ + // Remove "no-js" class from element, if it exists: + docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') + + + // Add the new classes to the element. + (enableClasses ? ' js ' + classes.join(' ') : ''); + /*>>cssclasses*/ + + return Modernizr; + +})(this, this.document); diff --git a/packages/Modernizr.2.6.2/Modernizr.2.6.2.nupkg b/packages/Modernizr.2.6.2/Modernizr.2.6.2.nupkg new file mode 100644 index 000000000..df20288dc Binary files /dev/null and b/packages/Modernizr.2.6.2/Modernizr.2.6.2.nupkg differ diff --git a/packages/Modernizr.2.6.2/Tools/common.ps1 b/packages/Modernizr.2.6.2/Tools/common.ps1 new file mode 100644 index 000000000..b061c65d8 --- /dev/null +++ b/packages/Modernizr.2.6.2/Tools/common.ps1 @@ -0,0 +1,75 @@ +function AddOrUpdate-Reference($scriptsFolderProjectItem, $fileNamePattern, $newFileName) { + try { + $referencesFileProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("_references.js") + } + catch { + # _references.js file not found + return + } + + if ($referencesFileProjectItem -eq $null) { + # _references.js file not found + return + } + + $referencesFilePath = $referencesFileProjectItem.FileNames(1) + $referencesTempFilePath = Join-Path $env:TEMP "_references.tmp.js" + + if ((Select-String $referencesFilePath -pattern $fileNamePattern).Length -eq 0) { + # File has no existing matching reference line + # Add the full reference line to the beginning of the file + "/// " | Add-Content $referencesTempFilePath -Encoding UTF8 + Get-Content $referencesFilePath | Add-Content $referencesTempFilePath + } + else { + # Loop through file and replace old file name with new file name + Get-Content $referencesFilePath | ForEach-Object { $_ -replace $fileNamePattern, $newFileName } > $referencesTempFilePath + } + + # Copy over the new _references.js file + Copy-Item $referencesTempFilePath $referencesFilePath -Force + Remove-Item $referencesTempFilePath -Force +} + +function Remove-Reference($scriptsFolderProjectItem, $fileNamePattern) { + try { + $referencesFileProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("_references.js") + } + catch { + # _references.js file not found + return + } + + if ($referencesFileProjectItem -eq $null) { + return + } + + $referencesFilePath = $referencesFileProjectItem.FileNames(1) + $referencesTempFilePath = Join-Path $env:TEMP "_references.tmp.js" + + if ((Select-String $referencesFilePath -pattern $fileNamePattern).Length -eq 1) { + # Delete the line referencing the file + Get-Content $referencesFilePath | ForEach-Object { if (-not ($_ -match $fileNamePattern)) { $_ } } > $referencesTempFilePath + + # Copy over the new _references.js file + Copy-Item $referencesTempFilePath $referencesFilePath -Force + Remove-Item $referencesTempFilePath -Force + } +} + +# Extract the version number from the file in the package's content\scripts folder +$packageScriptsFolder = Join-Path $installPath Content\Scripts +$modernizrFileName = Join-Path $packageScriptsFolder "modernizr-*.js" | Get-ChildItem -Exclude "*.min.js","*-vsdoc.js" | Split-Path -Leaf +$modernizrFileNameRegEx = "modernizr-((?:\d+\.)?(?:\d+\.)?(?:\d+\.)?(?:\d+)).js" +$modernizrFileName -match $modernizrFileNameRegEx +$ver = $matches[1] + +# Get the project item for the scripts folder +try { + $scriptsFolderProjectItem = $project.ProjectItems.Item("Scripts") + $projectScriptsFolderPath = $scriptsFolderProjectItem.FileNames(1) +} +catch { + # No Scripts folder + Write-Host "No scripts folder found" +} \ No newline at end of file diff --git a/packages/Modernizr.2.6.2/Tools/install.ps1 b/packages/Modernizr.2.6.2/Tools/install.ps1 new file mode 100644 index 000000000..8a71107de --- /dev/null +++ b/packages/Modernizr.2.6.2/Tools/install.ps1 @@ -0,0 +1,12 @@ +param($installPath, $toolsPath, $package, $project) + +. (Join-Path $toolsPath common.ps1) + +if ($scriptsFolderProjectItem -eq $null) { + # No Scripts folder + Write-Host "No Scripts folder found" + exit +} + +# Update the _references.js file +AddOrUpdate-Reference $scriptsFolderProjectItem $modernizrFileNameRegEx $modernizrFileName \ No newline at end of file diff --git a/packages/Modernizr.2.6.2/Tools/uninstall.ps1 b/packages/Modernizr.2.6.2/Tools/uninstall.ps1 new file mode 100644 index 000000000..13c5c1644 --- /dev/null +++ b/packages/Modernizr.2.6.2/Tools/uninstall.ps1 @@ -0,0 +1,6 @@ +param($installPath, $toolsPath, $package, $project) + +. (Join-Path $toolsPath common.ps1) + +# Update the _references.js file +Remove-Reference $scriptsFolderProjectItem $modernizrFileNameRegEx \ No newline at end of file diff --git a/packages/Newtonsoft.Json.6.0.5/Newtonsoft.Json.6.0.5.nupkg b/packages/Newtonsoft.Json.6.0.5/Newtonsoft.Json.6.0.5.nupkg new file mode 100644 index 000000000..a019e73d3 Binary files /dev/null and b/packages/Newtonsoft.Json.6.0.5/Newtonsoft.Json.6.0.5.nupkg differ diff --git a/packages/Newtonsoft.Json.6.0.5/lib/net20/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.6.0.5/lib/net20/Newtonsoft.Json.dll new file mode 100644 index 000000000..aa190de73 Binary files /dev/null and b/packages/Newtonsoft.Json.6.0.5/lib/net20/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.6.0.5/lib/net20/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.6.0.5/lib/net20/Newtonsoft.Json.xml new file mode 100644 index 000000000..4631fdabf --- /dev/null +++ b/packages/Newtonsoft.Json.6.0.5/lib/net20/Newtonsoft.Json.xml @@ -0,0 +1,9108 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Sets the state of the JsonWriter, + + The JsonToken being written. + The value being written. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Initializes a new instance of the class. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed. + + true if integers are allowed; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Represents a trace writer that writes to the application's instances. + + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Provides a set of static (Shared in Visual Basic) methods for + querying objects that implement . + + + + + Returns the input typed as . + + + + + Returns an empty that has the + specified type argument. + + + + + Converts the elements of an to the + specified type. + + + + + Filters the elements of an based on a specified type. + + + + + Generates a sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + + + + Generates a sequence that contains one repeated value. + + + + + Filters a sequence of values based on a predicate. + + + + + Filters a sequence of values based on a predicate. + Each element's index is used in the logic of the predicate function. + + + + + Projects each element of a sequence into a new form. + + + + + Projects each element of a sequence into a new form by + incorporating the element's index. + + + + + Projects each element of a sequence to an + and flattens the resulting sequences into one sequence. + + + + + Projects each element of a sequence to an , + and flattens the resulting sequences into one sequence. The + index of each source element is used in the projected form of + that element. + + + + + Projects each element of a sequence to an , + flattens the resulting sequences into one sequence, and invokes + a result selector function on each element therein. + + + + + Projects each element of a sequence to an , + flattens the resulting sequences into one sequence, and invokes + a result selector function on each element therein. The index of + each source element is used in the intermediate projected form + of that element. + + + + + Returns elements from a sequence as long as a specified condition is true. + + + + + Returns elements from a sequence as long as a specified condition is true. + The element's index is used in the logic of the predicate function. + + + + + Base implementation of First operator. + + + + + Returns the first element of a sequence. + + + + + Returns the first element in a sequence that satisfies a specified condition. + + + + + Returns the first element of a sequence, or a default value if + the sequence contains no elements. + + + + + Returns the first element of the sequence that satisfies a + condition or a default value if no such element is found. + + + + + Base implementation of Last operator. + + + + + Returns the last element of a sequence. + + + + + Returns the last element of a sequence that satisfies a + specified condition. + + + + + Returns the last element of a sequence, or a default value if + the sequence contains no elements. + + + + + Returns the last element of a sequence that satisfies a + condition or a default value if no such element is found. + + + + + Base implementation of Single operator. + + + + + Returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + + + Returns the only element of a sequence that satisfies a + specified condition, and throws an exception if more than one + such element exists. + + + + + Returns the only element of a sequence, or a default value if + the sequence is empty; this method throws an exception if there + is more than one element in the sequence. + + + + + Returns the only element of a sequence that satisfies a + specified condition or a default value if no such element + exists; this method throws an exception if more than one element + satisfies the condition. + + + + + Returns the element at a specified index in a sequence. + + + + + Returns the element at a specified index in a sequence or a + default value if the index is out of range. + + + + + Inverts the order of the elements in a sequence. + + + + + Returns a specified number of contiguous elements from the start + of a sequence. + + + + + Bypasses a specified number of elements in a sequence and then + returns the remaining elements. + + + + + Bypasses elements in a sequence as long as a specified condition + is true and then returns the remaining elements. + + + + + Bypasses elements in a sequence as long as a specified condition + is true and then returns the remaining elements. The element's + index is used in the logic of the predicate function. + + + + + Returns the number of elements in a sequence. + + + + + Returns a number that represents how many elements in the + specified sequence satisfy a condition. + + + + + Returns an that represents the total number + of elements in a sequence. + + + + + Returns an that represents how many elements + in a sequence satisfy a condition. + + + + + Concatenates two sequences. + + + + + Creates a from an . + + + + + Creates an array from an . + + + + + Returns distinct elements from a sequence by using the default + equality comparer to compare values. + + + + + Returns distinct elements from a sequence by using a specified + to compare values. + + + + + Creates a from an + according to a specified key + selector function. + + + + + Creates a from an + according to a specified key + selector function and a key comparer. + + + + + Creates a from an + according to specified key + and element selector functions. + + + + + Creates a from an + according to a specified key + selector function, a comparer and an element selector function. + + + + + Groups the elements of a sequence according to a specified key + selector function. + + + + + Groups the elements of a sequence according to a specified key + selector function and compares the keys by using a specified + comparer. + + + + + Groups the elements of a sequence according to a specified key + selector function and projects the elements for each group by + using a specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. + + + + + Groups the elements of a sequence according to a key selector + function. The keys are compared by using a comparer and each + group's elements are projected by using a specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. The elements of each group are projected by using a + specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. The keys are compared by using a specified comparer. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. Key values are compared by using a specified comparer, + and the elements of each group are projected by using a + specified function. + + + + + Applies an accumulator function over a sequence. + + + + + Applies an accumulator function over a sequence. The specified + seed value is used as the initial accumulator value. + + + + + Applies an accumulator function over a sequence. The specified + seed value is used as the initial accumulator value, and the + specified function is used to select the result value. + + + + + Produces the set union of two sequences by using the default + equality comparer. + + + + + Produces the set union of two sequences by using a specified + . + + + + + Returns the elements of the specified sequence or the type + parameter's default value in a singleton collection if the + sequence is empty. + + + + + Returns the elements of the specified sequence or the specified + value in a singleton collection if the sequence is empty. + + + + + Determines whether all elements of a sequence satisfy a condition. + + + + + Determines whether a sequence contains any elements. + + + + + Determines whether any element of a sequence satisfies a + condition. + + + + + Determines whether a sequence contains a specified element by + using the default equality comparer. + + + + + Determines whether a sequence contains a specified element by + using a specified . + + + + + Determines whether two sequences are equal by comparing the + elements by using the default equality comparer for their type. + + + + + Determines whether two sequences are equal by comparing their + elements by using a specified . + + + + + Base implementation for Min/Max operator. + + + + + Base implementation for Min/Max operator for nullable types. + + + + + Returns the minimum value in a generic sequence. + + + + + Invokes a transform function on each element of a generic + sequence and returns the minimum resulting value. + + + + + Returns the maximum value in a generic sequence. + + + + + Invokes a transform function on each element of a generic + sequence and returns the maximum resulting value. + + + + + Makes an enumerator seen as enumerable once more. + + + The supplied enumerator must have been started. The first element + returned is the element the enumerator was on when passed in. + DO NOT use this method if the caller must be a generator. It is + mostly safe among aggregate operations. + + + + + Sorts the elements of a sequence in ascending order according to a key. + + + + + Sorts the elements of a sequence in ascending order by using a + specified comparer. + + + + + Sorts the elements of a sequence in descending order according to a key. + + + + + Sorts the elements of a sequence in descending order by using a + specified comparer. + + + + + Performs a subsequent ordering of the elements in a sequence in + ascending order according to a key. + + + + + Performs a subsequent ordering of the elements in a sequence in + ascending order by using a specified comparer. + + + + + Performs a subsequent ordering of the elements in a sequence in + descending order, according to a key. + + + + + Performs a subsequent ordering of the elements in a sequence in + descending order by using a specified comparer. + + + + + Base implementation for Intersect and Except operators. + + + + + Produces the set intersection of two sequences by using the + default equality comparer to compare values. + + + + + Produces the set intersection of two sequences by using the + specified to compare values. + + + + + Produces the set difference of two sequences by using the + default equality comparer to compare values. + + + + + Produces the set difference of two sequences by using the + specified to compare values. + + + + + Creates a from an + according to a specified key + selector function. + + + + + Creates a from an + according to a specified key + selector function and key comparer. + + + + + Creates a from an + according to specified key + selector and element selector functions. + + + + + Creates a from an + according to a specified key + selector function, a comparer, and an element selector function. + + + + + Correlates the elements of two sequences based on matching keys. + The default equality comparer is used to compare keys. + + + + + Correlates the elements of two sequences based on matching keys. + The default equality comparer is used to compare keys. A + specified is used to compare keys. + + + + + Correlates the elements of two sequences based on equality of + keys and groups the results. The default equality comparer is + used to compare keys. + + + + + Correlates the elements of two sequences based on equality of + keys and groups the results. The default equality comparer is + used to compare keys. A specified + is used to compare keys. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Represents a collection of objects that have a common key. + + + + + Gets the key of the . + + + + + Defines an indexer, size property, and Boolean search method for + data structures that map keys to + sequences of values. + + + + + Represents a sorted sequence. + + + + + Performs a subsequent ordering on the elements of an + according to a key. + + + + + Represents a collection of keys each mapped to one or more values. + + + + + Determines whether a specified key is in the . + + + + + Applies a transform function to each key and its associated + values and returns the results. + + + + + Returns a generic enumerator that iterates through the . + + + + + Gets the number of key/value collection pairs in the . + + + + + Gets the collection of values indexed by the specified key. + + + + + See issue #11 + for why this method is needed and cannot be expressed as a + lambda at the call site. + + + + + See issue #11 + for why this method is needed and cannot be expressed as a + lambda at the call site. + + + + + This attribute allows us to define extension methods without + requiring .NET Framework 3.5. For more information, see the section, + Extension Methods in .NET Framework 2.0 Apps, + of Basic Instincts: Extension Methods + column in MSDN Magazine, + issue Nov 2007. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An that contains the selected elements. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a null value. + + A null value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string using formatting. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment specified by + and writes a .NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings. + + + A new instance. + The will not use default settings. + + + + + Creates a new instance using the specified . + The will not use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings. + + + + + Creates a new instance. + The will use default settings. + + + A new instance. + The will use default settings. + + + + + Creates a new instance using the specified . + The will use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings. + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON array. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.6.0.5/lib/net35/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.6.0.5/lib/net35/Newtonsoft.Json.dll new file mode 100644 index 000000000..c37ad2974 Binary files /dev/null and b/packages/Newtonsoft.Json.6.0.5/lib/net35/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.6.0.5/lib/net35/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.6.0.5/lib/net35/Newtonsoft.Json.xml new file mode 100644 index 000000000..a1bfe418b --- /dev/null +++ b/packages/Newtonsoft.Json.6.0.5/lib/net35/Newtonsoft.Json.xml @@ -0,0 +1,8251 @@ + + + + Newtonsoft.Json + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Sets the state of the JsonWriter, + + The JsonToken being written. + The value being written. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Initializes a new instance of the class. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed. + + true if integers are allowed; otherwise, false. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Represents a trace writer that writes to the application's instances. + + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An that contains the selected elements. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a null value. + + A null value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string using formatting. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment specified by + and writes a .NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by + and writes a .NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings. + + + A new instance. + The will not use default settings. + + + + + Creates a new instance using the specified . + The will not use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings. + + + + + Creates a new instance. + The will use default settings. + + + A new instance. + The will use default settings. + + + + + Creates a new instance using the specified . + The will use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings. + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON array. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.6.0.5/lib/net40/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.6.0.5/lib/net40/Newtonsoft.Json.dll new file mode 100644 index 000000000..81811847d Binary files /dev/null and b/packages/Newtonsoft.Json.6.0.5/lib/net40/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.6.0.5/lib/net40/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.6.0.5/lib/net40/Newtonsoft.Json.xml new file mode 100644 index 000000000..3f90db28d --- /dev/null +++ b/packages/Newtonsoft.Json.6.0.5/lib/net40/Newtonsoft.Json.xml @@ -0,0 +1,8558 @@ + + + + Newtonsoft.Json + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Sets the state of the JsonWriter, + + The JsonToken being written. + The value being written. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Initializes a new instance of the class. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed. + + true if integers are allowed; otherwise, false. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Represents a trace writer that writes to the application's instances. + + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a null value. + + A null value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string. + Serialization will happen on a new thread. + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using formatting. + Serialization will happen on a new thread. + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using formatting and a collection of . + Serialization will happen on a new thread. + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type using . + Deserialization will happen on a new thread. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type using . + Deserialization will happen on a new thread. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Asynchronously populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string using formatting. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment specified by + and writes a .NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by + and writes a .NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings. + + + A new instance. + The will not use default settings. + + + + + Creates a new instance using the specified . + The will not use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings. + + + + + Creates a new instance. + The will use default settings. + + + A new instance. + The will use default settings. + + + + + Creates a new instance using the specified . + The will use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings. + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON array. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Represents a method that constructs an object. + + The object type to create. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.6.0.5/lib/net45/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.6.0.5/lib/net45/Newtonsoft.Json.dll new file mode 100644 index 000000000..740086d3f Binary files /dev/null and b/packages/Newtonsoft.Json.6.0.5/lib/net45/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.6.0.5/lib/net45/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.6.0.5/lib/net45/Newtonsoft.Json.xml new file mode 100644 index 000000000..65a77c26f --- /dev/null +++ b/packages/Newtonsoft.Json.6.0.5/lib/net45/Newtonsoft.Json.xml @@ -0,0 +1,8558 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Sets the state of the JsonWriter, + + The JsonToken being written. + The value being written. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Initializes a new instance of the class. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed. + + true if integers are allowed; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string. + Serialization will happen on a new thread. + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using formatting. + Serialization will happen on a new thread. + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using formatting and a collection of . + Serialization will happen on a new thread. + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type using . + Deserialization will happen on a new thread. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type using . + Deserialization will happen on a new thread. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Asynchronously populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string using formatting. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment specified by + and writes a .NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by + and writes a .NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings. + + + A new instance. + The will not use default settings. + + + + + Creates a new instance using the specified . + The will not use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings. + + + + + Creates a new instance. + The will use default settings. + + + A new instance. + The will use default settings. + + + + + Creates a new instance using the specified . + The will use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings. + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a null value. + + A null value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer that writes to the application's instances. + + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.6.0.5/lib/netcore45/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.6.0.5/lib/netcore45/Newtonsoft.Json.dll new file mode 100644 index 000000000..32f143a57 Binary files /dev/null and b/packages/Newtonsoft.Json.6.0.5/lib/netcore45/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.6.0.5/lib/netcore45/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.6.0.5/lib/netcore45/Newtonsoft.Json.xml new file mode 100644 index 000000000..ad790dff2 --- /dev/null +++ b/packages/Newtonsoft.Json.6.0.5/lib/netcore45/Newtonsoft.Json.xml @@ -0,0 +1,8083 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Sets the state of the JsonWriter, + + The JsonToken being written. + The value being written. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from JSON and BSON. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Initializes a new instance of the class. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed. + + true if integers are allowed; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string. + Serialization will happen on a new thread. + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using formatting. + Serialization will happen on a new thread. + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using formatting and a collection of . + Serialization will happen on a new thread. + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type using . + Deserialization will happen on a new thread. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type using . + Deserialization will happen on a new thread. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Asynchronously populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by + and writes a .NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings. + + + A new instance. + The will not use default settings. + + + + + Creates a new instance using the specified . + The will not use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings. + + + + + Creates a new instance. + The will use default settings. + + + A new instance. + The will use default settings. + + + + + Creates a new instance using the specified . + The will use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings. + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a null value. + + A null value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies what messages to output for the class. + + + + + Output no tracing and debugging messages. + + + + + Output error-handling messages. + + + + + Output warnings and error-handling messages. + + + + + Output informational messages, warnings, and error-handling messages. + + + + + Output all debugging and tracing messages. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.6.0.5/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.6.0.5/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll new file mode 100644 index 000000000..db426c768 Binary files /dev/null and b/packages/Newtonsoft.Json.6.0.5/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.6.0.5/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.6.0.5/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml new file mode 100644 index 000000000..f90963b95 --- /dev/null +++ b/packages/Newtonsoft.Json.6.0.5/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml @@ -0,0 +1,7736 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Sets the state of the JsonWriter, + + The JsonToken being written. + The value being written. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from JSON and BSON. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Initializes a new instance of the class. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed. + + true if integers are allowed; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings. + + + A new instance. + The will not use default settings. + + + + + Creates a new instance using the specified . + The will not use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings. + + + + + Creates a new instance. + The will use default settings. + + + A new instance. + The will use default settings. + + + + + Creates a new instance using the specified . + The will use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings. + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An that contains the selected elements. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a null value. + + A null value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies what messages to output for the class. + + + + + Output no tracing and debugging messages. + + + + + Output error-handling messages. + + + + + Output warnings and error-handling messages. + + + + + Output informational messages, warnings, and error-handling messages. + + + + + Output all debugging and tracing messages. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.6.0.5/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.6.0.5/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll new file mode 100644 index 000000000..8b6147ddd Binary files /dev/null and b/packages/Newtonsoft.Json.6.0.5/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.6.0.5/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.6.0.5/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.xml new file mode 100644 index 000000000..13cd034ad --- /dev/null +++ b/packages/Newtonsoft.Json.6.0.5/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.xml @@ -0,0 +1,8083 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Sets the state of the JsonWriter, + + The JsonToken being written. + The value being written. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from JSON and BSON. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Initializes a new instance of the class. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets a value indicating whether integer values are allowed. + + true if integers are allowed; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string. + Serialization will happen on a new thread. + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using formatting. + Serialization will happen on a new thread. + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using formatting and a collection of . + Serialization will happen on a new thread. + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type using . + Deserialization will happen on a new thread. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type using . + Deserialization will happen on a new thread. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Asynchronously populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment specified by + and writes a .NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings. + + + A new instance. + The will not use default settings. + + + + + Creates a new instance using the specified . + The will not use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings. + + + + + Creates a new instance. + The will use default settings. + + + A new instance. + The will use default settings. + + + + + Creates a new instance using the specified . + The will use default settings. + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings. + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A , or null. + + + + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + An that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies to. + + The array. + Index of the array. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a null value. + + A null value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies what messages to output for the class. + + + + + Output no tracing and debugging messages. + + + + + Output error-handling messages. + + + + + Output warnings and error-handling messages. + + + + + Output informational messages, warnings, and error-handling messages. + + + + + Output all debugging and tracing messages. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.6.0.5/tools/install.ps1 b/packages/Newtonsoft.Json.6.0.5/tools/install.ps1 new file mode 100644 index 000000000..dfc78f057 --- /dev/null +++ b/packages/Newtonsoft.Json.6.0.5/tools/install.ps1 @@ -0,0 +1,93 @@ +param($installPath, $toolsPath, $package, $project) + +# open json.net splash page on package install +# don't open if json.net is installed as a dependency + +try +{ + $url = "http://james.newtonking.com/json" + $dte2 = Get-Interface $dte ([EnvDTE80.DTE2]) + + if ($dte2.ActiveWindow.Caption -eq "Package Manager Console") + { + # user is installing from VS NuGet console + # get reference to the window, the console host and the input history + # show webpage if "install-package newtonsoft.json" was last input + + $consoleWindow = $(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]) + + $props = $consoleWindow.GetType().GetProperties([System.Reflection.BindingFlags]::Instance -bor ` + [System.Reflection.BindingFlags]::NonPublic) + + $prop = $props | ? { $_.Name -eq "ActiveHostInfo" } | select -first 1 + if ($prop -eq $null) { return } + + $hostInfo = $prop.GetValue($consoleWindow) + if ($hostInfo -eq $null) { return } + + $history = $hostInfo.WpfConsole.InputHistory.History + + $lastCommand = $history | select -last 1 + + if ($lastCommand) + { + $lastCommand = $lastCommand.Trim().ToLower() + if ($lastCommand.StartsWith("install-package") -and $lastCommand.Contains("newtonsoft.json")) + { + $dte2.ItemOperations.Navigate($url) | Out-Null + } + } + } + else + { + # user is installing from VS NuGet dialog + # get reference to the window, then smart output console provider + # show webpage if messages in buffered console contains "installing...newtonsoft.json" in last operation + + $instanceField = [NuGet.Dialog.PackageManagerWindow].GetField("CurrentInstance", [System.Reflection.BindingFlags]::Static -bor ` + [System.Reflection.BindingFlags]::NonPublic) + $consoleField = [NuGet.Dialog.PackageManagerWindow].GetField("_smartOutputConsoleProvider", [System.Reflection.BindingFlags]::Instance -bor ` + [System.Reflection.BindingFlags]::NonPublic) + if ($instanceField -eq $null -or $consoleField -eq $null) { return } + + $instance = $instanceField.GetValue($null) + if ($instance -eq $null) { return } + + $consoleProvider = $consoleField.GetValue($instance) + if ($consoleProvider -eq $null) { return } + + $console = $consoleProvider.CreateOutputConsole($false) + + $messagesField = $console.GetType().GetField("_messages", [System.Reflection.BindingFlags]::Instance -bor ` + [System.Reflection.BindingFlags]::NonPublic) + if ($messagesField -eq $null) { return } + + $messages = $messagesField.GetValue($console) + if ($messages -eq $null) { return } + + $operations = $messages -split "==============================" + + $lastOperation = $operations | select -last 1 + + if ($lastOperation) + { + $lastOperation = $lastOperation.ToLower() + + $lines = $lastOperation -split "`r`n" + + $installMatch = $lines | ? { $_.StartsWith("------- installing...newtonsoft.json ") } | select -first 1 + + if ($installMatch) + { + $dte2.ItemOperations.Navigate($url) | Out-Null + } + } + } +} +catch +{ + # stop potential errors from bubbling up + # worst case the splash page won't open +} + +# yolo \ No newline at end of file diff --git a/packages/WebGrease.1.3.0/WebGrease.1.3.0.nupkg b/packages/WebGrease.1.3.0/WebGrease.1.3.0.nupkg new file mode 100644 index 000000000..9ec7ef646 Binary files /dev/null and b/packages/WebGrease.1.3.0/WebGrease.1.3.0.nupkg differ diff --git a/packages/WebGrease.1.3.0/lib/Antlr3.Runtime.dll b/packages/WebGrease.1.3.0/lib/Antlr3.Runtime.dll new file mode 100644 index 000000000..9592285c7 Binary files /dev/null and b/packages/WebGrease.1.3.0/lib/Antlr3.Runtime.dll differ diff --git a/packages/WebGrease.1.3.0/lib/WebGrease.dll b/packages/WebGrease.1.3.0/lib/WebGrease.dll new file mode 100644 index 000000000..c4bc0f8fb Binary files /dev/null and b/packages/WebGrease.1.3.0/lib/WebGrease.dll differ diff --git a/packages/WebGrease.1.3.0/tools/WG.exe b/packages/WebGrease.1.3.0/tools/WG.exe new file mode 100644 index 000000000..e91761a6f Binary files /dev/null and b/packages/WebGrease.1.3.0/tools/WG.exe differ diff --git a/packages/jQuery.1.6.4/Content/Scripts/jquery-1.6.4-vsdoc.js b/packages/jQuery.1.6.4/Content/Scripts/jquery-1.6.4-vsdoc.js new file mode 100644 index 000000000..f9e47c824 --- /dev/null +++ b/packages/jQuery.1.6.4/Content/Scripts/jquery-1.6.4-vsdoc.js @@ -0,0 +1,7024 @@ +/* +* This file has been generated to support Visual Studio IntelliSense. +* You should not use this file at runtime inside the browser--it is only +* intended to be used only for design-time IntelliSense. Please use the +* standard jQuery library for all production use. +* +* Comment version: 1.6.4 +*/ + +/*! +* jQuery JavaScript Library v1.6.4 +* http://jquery.com/ +* +* Distributed in whole under the terms of the MIT +* +* Copyright 2010, John Resig +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* +* Includes Sizzle.js +* http://sizzlejs.com/ +* Copyright 2010, The Dojo Foundation +* Released under the MIT and BSD Licenses. +*/ + +(function ( window, undefined ) { +var jQuery = function( selector, context ) { +/// +/// 1: Accepts a string containing a CSS selector which is then used to match a set of elements. +/// 1.1 - $(selector, context) +/// 1.2 - $(element) +/// 1.3 - $(elementArray) +/// 1.4 - $(jQuery object) +/// 1.5 - $() +/// 2: Creates DOM elements on the fly from the provided string of raw HTML. +/// 2.1 - $(html, ownerDocument) +/// 2.2 - $(html, props) +/// 3: Binds a function to be executed when the DOM has finished loading. +/// 3.1 - $(callback) +/// +/// +/// A string containing a selector expression +/// +/// +/// A DOM Element, Document, or jQuery to use as context +/// +/// + + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }; +jQuery.Deferred = function( func ) { + + var deferred = jQuery._Deferred(), + failDeferred = jQuery._Deferred(), + promise; + // Add errorDeferred methods, then and promise + jQuery.extend( deferred, { + then: function( doneCallbacks, failCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ); + return this; + }, + always: function() { + return deferred.done.apply( deferred, arguments ).fail.apply( this, arguments ); + }, + fail: failDeferred.done, + rejectWith: failDeferred.resolveWith, + reject: failDeferred.resolve, + isRejected: failDeferred.isResolved, + pipe: function( fnDone, fnFail ) { + return jQuery.Deferred(function( newDefer ) { + jQuery.each( { + done: [ fnDone, "resolve" ], + fail: [ fnFail, "reject" ] + }, function( handler, data ) { + var fn = data[ 0 ], + action = data[ 1 ], + returned; + if ( jQuery.isFunction( fn ) ) { + deferred[ handler ](function() { + returned = fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise().then( newDefer.resolve, newDefer.reject ); + } else { + newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] ); + } + }); + } else { + deferred[ handler ]( newDefer[ action ] ); + } + }); + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + if ( obj == null ) { + if ( promise ) { + return promise; + } + promise = obj = {}; + } + var i = promiseMethods.length; + while( i-- ) { + obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; + } + return obj; + } + }); + // Make sure only one callback list will be used + deferred.done( failDeferred.cancel ).fail( deferred.cancel ); + // Unexpose cancel + delete deferred.cancel; + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + return deferred; + }; +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; +jQuery._Deferred = function() { + + var // callbacks list + callbacks = [], + // stored [ context , args ] + fired, + // to avoid firing when already doing so + firing, + // flag to know if the deferred has been cancelled + cancelled, + // the deferred itself + deferred = { + + // done( f1, f2, ...) + done: function() { + if ( !cancelled ) { + var args = arguments, + i, + length, + elem, + type, + _fired; + if ( fired ) { + _fired = fired; + fired = 0; + } + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + deferred.done.apply( deferred, elem ); + } else if ( type === "function" ) { + callbacks.push( elem ); + } + } + if ( _fired ) { + deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); + } + } + return this; + }, + + // resolve with given context and args + resolveWith: function( context, args ) { + if ( !cancelled && !fired && !firing ) { + // make sure args are available (#8421) + args = args || []; + firing = 1; + try { + while( callbacks[ 0 ] ) { + callbacks.shift().apply( context, args ); + } + } + finally { + fired = [ context, args ]; + firing = 0; + } + } + return this; + }, + + // resolve with this as context and given arguments + resolve: function() { + deferred.resolveWith( this, arguments ); + return this; + }, + + // Has this deferred been resolved? + isResolved: function() { + return !!( firing || fired ); + }, + + // Cancel + cancel: function() { + cancelled = 1; + callbacks = []; + return this; + } + }; + + return deferred; + }; +jQuery._data = function( elem, name, data ) { + + return jQuery.data( elem, name, data, true ); + }; +jQuery._mark = function( elem, type ) { + + if ( elem ) { + type = (type || "fx") + "mark"; + jQuery.data( elem, type, (jQuery.data(elem,type,undefined,true) || 0) + 1, true ); + } + }; +jQuery._unmark = function( force, elem, type ) { + + if ( force !== true ) { + type = elem; + elem = force; + force = false; + } + if ( elem ) { + type = type || "fx"; + var key = type + "mark", + count = force ? 0 : ( (jQuery.data( elem, key, undefined, true) || 1 ) - 1 ); + if ( count ) { + jQuery.data( elem, key, count, true ); + } else { + jQuery.removeData( elem, key, true ); + handleQueueMarkDefer( elem, type, "mark" ); + } + } + }; +jQuery.acceptData = function( elem ) { + + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + }; +jQuery.access = function( elems, key, value, exec, fn, pass ) { + + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + jQuery.access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; + }; +jQuery.active = 0; +jQuery.ajax = function( url, options ) { +/// +/// Perform an asynchronous HTTP (Ajax) request. +/// 1 - jQuery.ajax(url, settings) +/// 2 - jQuery.ajax(settings) +/// +/// +/// A string containing the URL to which the request is sent. +/// +/// +/// A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) below for a complete list of all settings. +/// + + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + // Callbacks context + callbackContext = s.context || s, + // Context for global events + // It's the callbackContext if one was provided in the options + // and if it's a DOM node or a jQuery collection + globalEventContext = callbackContext !== s && + ( callbackContext.nodeType || callbackContext instanceof jQuery ) ? + jQuery( callbackContext ) : jQuery.event, + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery._Deferred(), + // Status-dependent callbacks + statusCode = s.statusCode || {}, + // ifModified key + ifModifiedKey, + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + // Response headers + responseHeadersString, + responseHeaders, + // transport + transport, + // timeout handle + timeoutTimer, + // Cross-domain detection vars + parts, + // The jqXHR state + state = 0, + // To know if global events are to be dispatched + fireGlobals, + // Loop variable + i, + // Fake xhr + jqXHR = { + + readyState: 0, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( !state ) { + var lname = name.toLowerCase(); + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Raw string + getAllResponseHeaders: function() { + return state === 2 ? responseHeadersString : null; + }, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( state === 2 ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match === undefined ? null : match; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( !state ) { + s.mimeType = type; + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + statusText = statusText || "abort"; + if ( transport ) { + transport.abort( statusText ); + } + done( 0, statusText ); + return this; + } + }; + + // Callback for when everything is done + // It is defined here because jslint complains if it is declared + // at the end of the function (which would be more logical and readable) + function done( status, nativeStatusText, responses, headers ) { + + // Called once + if ( state === 2 ) { + return; + } + + // State is "done" now + state = 2; + + // Clear timeout if it exists + if ( timeoutTimer ) { + clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + var isSuccess, + success, + error, + statusText = nativeStatusText, + response = responses ? ajaxHandleResponses( s, jqXHR, responses ) : undefined, + lastModified, + etag; + + // If successful, handle type chaining + if ( status >= 200 && status < 300 || status === 304 ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + + if ( ( lastModified = jqXHR.getResponseHeader( "Last-Modified" ) ) ) { + jQuery.lastModified[ ifModifiedKey ] = lastModified; + } + if ( ( etag = jqXHR.getResponseHeader( "Etag" ) ) ) { + jQuery.etag[ ifModifiedKey ] = etag; + } + } + + // If not modified + if ( status === 304 ) { + + statusText = "notmodified"; + isSuccess = true; + + // If we have data + } else { + + try { + success = ajaxConvert( s, response ); + statusText = "success"; + isSuccess = true; + } catch(e) { + // We have a parsererror + statusText = "parsererror"; + error = e; + } + } + } else { + // We extract error from statusText + // then normalize statusText and status for non-aborts + error = statusText; + if( !statusText || status ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = "" + ( nativeStatusText || statusText ); + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ), + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.resolveWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + // Attach deferreds + deferred.promise( jqXHR ); + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + jqXHR.complete = completeDeferred.done; + + // Status-dependent callbacks + jqXHR.statusCode = function( map ) { + if ( map ) { + var tmp; + if ( state < 2 ) { + for( tmp in map ) { + statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ]; + } + } else { + tmp = map[ jqXHR.status ]; + jqXHR.then( tmp, tmp ); + } + } + return this; + }; + + // Remove hash character (#7531: and string promotion) + // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) + // We also use the url parameter if available + s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); + + // Extract dataTypes list + s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax ); + + // Determine if a cross-domain request is in order + if ( s.crossDomain == null ) { + parts = rurl.exec( s.url.toLowerCase() ); + s.crossDomain = !!( parts && + ( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] || + ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) != + ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) ) + ); + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefiler, stop there + if ( state === 2 ) { + return false; + } + + // We can fire global events as of now if asked to + fireGlobals = s.global; + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // If data is available, append data to url + if ( s.data ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data; + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Get ifModifiedKey before adding the anti-cache parameter + ifModifiedKey = s.url; + + // Add anti-cache in url if needed + if ( s.cache === false ) { + + var ts = jQuery.now(), + // try replacing _= if it is there + ret = s.url.replace( rts, "$1_=" + ts ); + + // if nothing was replaced, add timestamp to the end + s.url = ret + ( (ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + ifModifiedKey = ifModifiedKey || s.url; + if ( jQuery.lastModified[ ifModifiedKey ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] ); + } + if ( jQuery.etag[ ifModifiedKey ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] ); + } + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? + s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { + // Abort if not done already + jqXHR.abort(); + return false; + + } + + // Install callbacks on deferreds + for ( i in { success: 1, error: 1, complete: 1 } ) { + jqXHR[ i ]( s[ i ] ); + } + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = setTimeout( function(){ + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + state = 1; + transport.send( requestHeaders, done ); + } catch (e) { + // Propagate exception as error if not done + if ( state < 2 ) { + done( -1, e ); + // Simply rethrow otherwise + } else { + jQuery.error( e ); + } + } + } + + return jqXHR; + }; +jQuery.ajaxPrefilter = function( dataTypeExpression, func ) { +/// +/// Handle custom Ajax options or modify existing options before each request is sent and before they are processed by $.ajax(). +/// +/// +/// An optional string containing one or more space-separated dataTypes +/// +/// +/// A handler to set default values for future Ajax requests. +/// +/// + + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + if ( jQuery.isFunction( func ) ) { + var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ), + i = 0, + length = dataTypes.length, + dataType, + list, + placeBefore; + + // For each dataType in the dataTypeExpression + for(; i < length; i++ ) { + dataType = dataTypes[ i ]; + // We control if we're asked to add before + // any existing element + placeBefore = /^\+/.test( dataType ); + if ( placeBefore ) { + dataType = dataType.substr( 1 ) || "*"; + } + list = structure[ dataType ] = structure[ dataType ] || []; + // then we add to the structure accordingly + list[ placeBefore ? "unshift" : "push" ]( func ); + } + } + }; +jQuery.ajaxSettings = { "url": 'http://localhost:25813/', +"isLocal": false, +"global": true, +"type": 'GET', +"contentType": 'application/x-www-form-urlencoded', +"processData": true, +"async": true, +"accepts": {}, +"contents": {}, +"responseFields": {}, +"converters": {}, +"flatOptions": {}, +"jsonp": 'callback' }; +jQuery.ajaxSetup = function( target, settings ) { +/// +/// Set default values for future Ajax requests. +/// +/// +/// A set of key/value pairs that configure the default Ajax request. All options are optional. +/// + + if ( settings ) { + // Building a settings object + ajaxExtend( target, jQuery.ajaxSettings ); + } else { + // Extending ajaxSettings + settings = target; + target = jQuery.ajaxSettings; + } + ajaxExtend( target, settings ); + return target; + }; +jQuery.ajaxTransport = function( dataTypeExpression, func ) { + + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + if ( jQuery.isFunction( func ) ) { + var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ), + i = 0, + length = dataTypes.length, + dataType, + list, + placeBefore; + + // For each dataType in the dataTypeExpression + for(; i < length; i++ ) { + dataType = dataTypes[ i ]; + // We control if we're asked to add before + // any existing element + placeBefore = /^\+/.test( dataType ); + if ( placeBefore ) { + dataType = dataType.substr( 1 ) || "*"; + } + list = structure[ dataType ] = structure[ dataType ] || []; + // then we add to the structure accordingly + list[ placeBefore ? "unshift" : "push" ]( func ); + } + } + }; +jQuery.attr = function( elem, name, value, pass ) { + + var nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery( elem )[ name ]( value ); + } + + // Fallback to prop when attributes are not supported + if ( !("getAttribute" in elem) ) { + return jQuery.prop( elem, name, value ); + } + + var ret, hooks, + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // Normalize the name if needed + if ( notxml ) { + name = jQuery.attrFix[ name ] || name; + + hooks = jQuery.attrHooks[ name ]; + + if ( !hooks ) { + // Use boolHook for boolean attributes + if ( rboolean.test( name ) ) { + hooks = boolHook; + + // Use nodeHook if available( IE6/7 ) + } else if ( nodeHook ) { + hooks = nodeHook; + } + } + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return undefined; + + } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, "" + value ); + return value; + } + + } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + ret = elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + }; +jQuery.attrFix = { "tabindex": 'tabIndex' }; +jQuery.attrFn = { "val": true, +"css": true, +"html": true, +"text": true, +"data": true, +"width": true, +"height": true, +"offset": true, +"blur": true, +"focus": true, +"focusin": true, +"focusout": true, +"load": true, +"resize": true, +"scroll": true, +"unload": true, +"click": true, +"dblclick": true, +"mousedown": true, +"mouseup": true, +"mousemove": true, +"mouseover": true, +"mouseout": true, +"mouseenter": true, +"mouseleave": true, +"change": true, +"select": true, +"submit": true, +"keydown": true, +"keypress": true, +"keyup": true, +"error": true }; +jQuery.attrHooks = { "type": {}, +"value": {}, +"tabIndex": {} }; +jQuery.bindReady = function() { + + if ( readyList ) { + return; + } + + readyList = jQuery._Deferred(); + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", DOMContentLoaded ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }; +jQuery.boxModel = true; +jQuery.browser = { "msie": true, +"version": '9.0' }; +jQuery.buildFragment = function( args, nodes, scripts ) { + + var fragment, cacheable, cacheresults, doc; + + // nodes may contain either an explicit document object, + // a jQuery collection or context object. + // If nodes[0] contains a valid object to assign to doc + if ( nodes && nodes[0] ) { + doc = nodes[0].ownerDocument || nodes[0]; + } + + // Ensure that an attr object doesn't incorrectly stand in as a document object + // Chrome and Firefox seem to allow this to occur and will throw exception + // Fixes #8950 + if ( !doc.createDocumentFragment ) { + doc = document; + } + + // Only cache "small" (1/2 KB) HTML strings that are associated with the main document + // Cloning options loses the selected state, so don't cache them + // IE 6 doesn't like it when you put or elements in a fragment + // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache + if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document && + args[0].charAt(0) === "<" && !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) { + + cacheable = true; + + cacheresults = jQuery.fragments[ args[0] ]; + if ( cacheresults && cacheresults !== 1 ) { + fragment = cacheresults; + } + } + + if ( !fragment ) { + fragment = doc.createDocumentFragment(); + jQuery.clean( args, doc, fragment, scripts ); + } + + if ( cacheable ) { + jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1; + } + + return { fragment: fragment, cacheable: cacheable }; +}; +jQuery.cache = {}; +jQuery.camelCase = function( string ) { + + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }; +jQuery.clean = function( elems, context, fragment, scripts ) { + + var checkScriptType; + + context = context || document; + + // !context.createElement fails in IE with an error but returns typeof 'object' + if ( typeof context.createElement === "undefined" ) { + context = context.ownerDocument || context[0] && context[0].ownerDocument || document; + } + + var ret = [], j; + + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + if ( typeof elem === "number" ) { + elem += ""; + } + + if ( !elem ) { + continue; + } + + // Convert html string into DOM nodes + if ( typeof elem === "string" ) { + if ( !rhtml.test( elem ) ) { + elem = context.createTextNode( elem ); + } else { + // Fix "XHTML"-style tags in all browsers + elem = elem.replace(rxhtmlTag, "<$1>"); + + // Trim whitespace, otherwise indexOf won't work as expected + var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(), + wrap = wrapMap[ tag ] || wrapMap._default, + depth = wrap[0], + div = context.createElement("div"); + + // Go to html and back, then peel off extra wrappers + div.innerHTML = wrap[1] + elem + wrap[2]; + + // Move to the right depth + while ( depth-- ) { + div = div.lastChild; + } + + // Remove IE's autoinserted from table fragments + if ( !jQuery.support.tbody ) { + + // String was a , *may* have spurious + var hasBody = rtbody.test(elem), + tbody = tag === "table" && !hasBody ? + div.firstChild && div.firstChild.childNodes : + + // String was a bare or + wrap[1] === "
    " && !hasBody ? + div.childNodes : + []; + + for ( j = tbody.length - 1; j >= 0 ; --j ) { + if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { + tbody[ j ].parentNode.removeChild( tbody[ j ] ); + } + } + } + + // IE completely kills leading whitespace when innerHTML is used + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); + } + + elem = div.childNodes; + } + } + + // Resets defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + var len; + if ( !jQuery.support.appendChecked ) { + if ( elem[0] && typeof (len = elem.length) === "number" ) { + for ( j = 0; j < len; j++ ) { + findInputs( elem[j] ); + } + } else { + findInputs( elem ); + } + } + + if ( elem.nodeType ) { + ret.push( elem ); + } else { + ret = jQuery.merge( ret, elem ); + } + } + + if ( fragment ) { + checkScriptType = function( elem ) { + return !elem.type || rscriptType.test( elem.type ); + }; + for ( i = 0; ret[i]; i++ ) { + if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) { + scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] ); + + } else { + if ( ret[i].nodeType === 1 ) { + var jsTags = jQuery.grep( ret[i].getElementsByTagName( "script" ), checkScriptType ); + + ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) ); + } + fragment.appendChild( ret[i] ); + } + } + } + + return ret; + }; +jQuery.cleanData = function( elems ) { + + var data, id, cache = jQuery.cache, internalKey = jQuery.expando, special = jQuery.event.special, + deleteExpando = jQuery.support.deleteExpando; + + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) { + continue; + } + + id = elem[ jQuery.expando ]; + + if ( id ) { + data = cache[ id ] && cache[ id ][ internalKey ]; + + if ( data && data.events ) { + for ( var type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + + // Null the DOM reference to avoid IE6/7/8 leak (#7054) + if ( data.handle ) { + data.handle.elem = null; + } + } + + if ( deleteExpando ) { + delete elem[ jQuery.expando ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } + + delete cache[ id ]; + } + } + }; +jQuery.clone = function( elem, dataAndEvents, deepDataAndEvents ) { + + var clone = elem.cloneNode(true), + srcElements, + destElements, + i; + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + // IE copies events bound via attachEvent when using cloneNode. + // Calling detachEvent on the clone will also remove the events + // from the original. In order to get around this, we use some + // proprietary methods to clear the events. Thanks to MooTools + // guys for this hotness. + + cloneFixAttributes( elem, clone ); + + // Using Sizzle here is crazy slow, so we use getElementsByTagName + // instead + srcElements = getAll( elem ); + destElements = getAll( clone ); + + // Weird iteration because IE will replace the length property + // with an element if you are cloning the body and one of the + // elements on the page has a name or id of "length" + for ( i = 0; srcElements[i]; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + cloneFixAttributes( srcElements[i], destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + cloneCopyEvent( elem, clone ); + + if ( deepDataAndEvents ) { + srcElements = getAll( elem ); + destElements = getAll( clone ); + + for ( i = 0; srcElements[i]; ++i ) { + cloneCopyEvent( srcElements[i], destElements[i] ); + } + } + } + + srcElements = destElements = null; + + // Return the cloned set + return clone; + }; +jQuery.contains = function( a, b ) { +/// +/// Check to see if a DOM element is within another DOM element. +/// +/// +/// The DOM element that may contain the other element. +/// +/// +/// The DOM element that may be contained by the other element. +/// +/// + + return a !== b && (a.contains ? a.contains(b) : true); + }; +jQuery.css = function( elem, name, extra ) { + + var ret, hooks; + + // Make sure that we're working with the right name + name = jQuery.camelCase( name ); + hooks = jQuery.cssHooks[ name ]; + name = jQuery.cssProps[ name ] || name; + + // cssFloat needs a special treatment + if ( name === "cssFloat" ) { + name = "float"; + } + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) { + return ret; + + // Otherwise, if a way to get the computed value exists, use that + } else if ( curCSS ) { + return curCSS( elem, name ); + } + }; +jQuery.cssHooks = { "opacity": {}, +"height": {}, +"width": {} }; +jQuery.cssNumber = { "fillOpacity": true, +"fontWeight": true, +"lineHeight": true, +"opacity": true, +"orphans": true, +"widows": true, +"zIndex": true, +"zoom": true }; +jQuery.cssProps = { "float": 'cssFloat' }; +jQuery.curCSS = function( elem, name, extra ) { + + var ret, hooks; + + // Make sure that we're working with the right name + name = jQuery.camelCase( name ); + hooks = jQuery.cssHooks[ name ]; + name = jQuery.cssProps[ name ] || name; + + // cssFloat needs a special treatment + if ( name === "cssFloat" ) { + name = "float"; + } + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) { + return ret; + + // Otherwise, if a way to get the computed value exists, use that + } else if ( curCSS ) { + return curCSS( elem, name ); + } + }; +jQuery.data = function( elem, name, data, pvt /* Internal Use Only */ ) { +/// +/// 1: Store arbitrary data associated with the specified element. Returns the value that was set. +/// 1.1 - jQuery.data(element, key, value) +/// 2: Returns value at named data store for the element, as set by jQuery.data(element, name, value), or the full data store for the element. +/// 2.1 - jQuery.data(element, key) +/// 2.2 - jQuery.data(element) +/// +/// +/// The DOM element to associate with the data. +/// +/// +/// A string naming the piece of data to set. +/// +/// +/// The new data value. +/// +/// + + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || (pvt && id && (cache[ id ] && !cache[ id ][ internalKey ]))) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ jQuery.expando ] = id = ++jQuery.uuid; + } else { + id = jQuery.expando; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); + } else { + cache[ id ] = jQuery.extend(cache[ id ], name); + } + } + + thisCache = cache[ id ]; + + // Internal jQuery data is stored in a separate object inside the object's data + // cache in order to avoid key collisions between internal data and user-defined + // data + if ( pvt ) { + if ( !thisCache[ internalKey ] ) { + thisCache[ internalKey ] = {}; + } + + thisCache = thisCache[ internalKey ]; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should + // not attempt to inspect the internal events object using jQuery.data, as this + // internal data object is undocumented and subject to change. + if ( name === "events" && !thisCache[name] ) { + return thisCache[ internalKey ] && thisCache[ internalKey ].events; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; + }; +jQuery.dequeue = function( elem, type ) { +/// +/// Execute the next function on the queue for the matched element. +/// +/// +/// A DOM element from which to remove and execute a queued function. +/// +/// +/// A string containing the name of the queue. Defaults to fx, the standard effects queue. +/// +/// + + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(), + defer; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue", true ); + handleQueueMarkDefer( elem, type, "queue" ); + } + }; +jQuery.dir = function( elem, dir, until ) { + + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }; +jQuery.each = function( object, callback, args ) { +/// +/// A generic iterator function, which can be used to seamlessly iterate over both objects and arrays. Arrays and array-like objects with a length property (such as a function's arguments object) are iterated by numeric index, from 0 to length-1. Other objects are iterated via their named properties. +/// +/// +/// The object or array to iterate over. +/// +/// +/// The function that will be executed on every object. +/// +/// + + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction( object ); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) { + break; + } + } + } + } + + return object; + }; +jQuery.easing = {}; +jQuery.error = function( msg ) { +/// +/// Takes a string and throws an exception containing it. +/// +/// +/// The message to send out. +/// + + throw msg; + }; +jQuery.etag = {}; +jQuery.event = { "global": {}, +"customEvent": {}, +"props": ['altKey','attrChange','attrName','bubbles','button','cancelable','charCode','clientX','clientY','ctrlKey','currentTarget','data','detail','eventPhase','fromElement','handler','keyCode','layerX','layerY','metaKey','newValue','offsetX','offsetY','pageX','pageY','prevValue','relatedNode','relatedTarget','screenX','screenY','shiftKey','srcElement','target','toElement','view','wheelDelta','which'], +"guid": 100000000, +"special": {}, +"triggered": false}; +jQuery.expr = { "order": ['ID','CLASS','NAME','TAG'], +"match": {}, +"leftMatch": {}, +"attrMap": {}, +"attrHandle": {}, +"relative": {}, +"find": {}, +"preFilter": {}, +"filters": {}, +"setFilters": {}, +"filter": {}, +":": {} }; +jQuery.extend = function() { +/// +/// Merge the contents of two or more objects together into the first object. +/// 1 - jQuery.extend(target, object1, objectN) +/// 2 - jQuery.extend(deep, target, object1, objectN) +/// +/// +/// If true, the merge becomes recursive (aka. deep copy). +/// +/// +/// The object to extend. It will receive the new properties. +/// +/// +/// An object containing additional properties to merge in. +/// +/// +/// Additional objects containing properties to merge in. +/// +/// + + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; +jQuery.filter = function( expr, elems, not ) { + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }; +jQuery.find = function( query, context, extra, seed ) { + + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + // See if we find a selector to speed up + var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); + + if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { + // Speed-up: Sizzle("TAG") + if ( match[1] ) { + return makeArray( context.getElementsByTagName( query ), extra ); + + // Speed-up: Sizzle(".CLASS") + } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { + return makeArray( context.getElementsByClassName( match[2] ), extra ); + } + } + + if ( context.nodeType === 9 ) { + // Speed-up: Sizzle("body") + // The body element only exists once, optimize finding it + if ( query === "body" && context.body ) { + return makeArray( [ context.body ], extra ); + + // Speed-up: Sizzle("#ID") + } else if ( match && match[3] ) { + var elem = context.getElementById( match[3] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id === match[3] ) { + return makeArray( [ elem ], extra ); + } + + } else { + return makeArray( [], extra ); + } + } + + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var oldContext = context, + old = context.getAttribute( "id" ), + nid = old || id, + hasParent = context.parentNode, + relativeHierarchySelector = /^\s*[+~]/.test( query ); + + if ( !old ) { + context.setAttribute( "id", nid ); + } else { + nid = nid.replace( /'/g, "\\$&" ); + } + if ( relativeHierarchySelector && hasParent ) { + context = context.parentNode; + } + + try { + if ( !relativeHierarchySelector || hasParent ) { + return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); + } + + } catch(pseudoError) { + } finally { + if ( !old ) { + oldContext.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; +jQuery.fn = { "selector": '', +"jquery": '1.6.4', +"length": 0 }; +jQuery.fragments = {}; +jQuery.fx = function( elem, options, prop ) { + + this.options = options; + this.elem = elem; + this.prop = prop; + + options.orig = options.orig || {}; + }; +jQuery.get = function( url, data, callback, type ) { +/// +/// Load data from the server using a HTTP GET request. +/// +/// +/// A string containing the URL to which the request is sent. +/// +/// +/// A map or string that is sent to the server with the request. +/// +/// +/// A callback function that is executed if the request succeeds. +/// +/// +/// The type of data expected from the server. Default: Intelligent Guess (xml, json, script, or html). +/// + + // shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + type: method, + url: url, + data: data, + success: callback, + dataType: type + }); + }; +jQuery.getJSON = function( url, data, callback ) { +/// +/// Load JSON-encoded data from the server using a GET HTTP request. +/// +/// +/// A string containing the URL to which the request is sent. +/// +/// +/// A map or string that is sent to the server with the request. +/// +/// +/// A callback function that is executed if the request succeeds. +/// + + return jQuery.get( url, data, callback, "json" ); + }; +jQuery.getScript = function( url, callback ) { +/// +/// Load a JavaScript file from the server using a GET HTTP request, then execute it. +/// +/// +/// A string containing the URL to which the request is sent. +/// +/// +/// A callback function that is executed if the request succeeds. +/// + + return jQuery.get( url, undefined, callback, "script" ); + }; +jQuery.globalEval = function( data ) { +/// +/// Execute some JavaScript code globally. +/// +/// +/// The JavaScript code to execute. +/// + + if ( data && rnotwhite.test( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }; +jQuery.grep = function( elems, callback, inv ) { +/// +/// Finds the elements of an array which satisfy a filter function. The original array is not affected. +/// +/// +/// The array to search through. +/// +/// +/// The function to process each item against. The first argument to the function is the item, and the second argument is the index. The function should return a Boolean value. this will be the global window object. +/// +/// +/// If "invert" is false, or not provided, then the function returns an array consisting of all elements for which "callback" returns true. If "invert" is true, then the function returns an array consisting of all elements for which "callback" returns false. +/// +/// + + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }; +jQuery.guid = 1; +jQuery.hasData = function( elem ) { +/// +/// Determine whether an element has any jQuery data associated with it. +/// +/// +/// A DOM element to be checked for data. +/// +/// + + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + + return !!elem && !isEmptyDataObject( elem ); + }; +jQuery.holdReady = function( hold ) { +/// +/// Holds or releases the execution of jQuery's ready event. +/// +/// +/// Indicates whether the ready hold is being requested or released +/// +/// + + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }; +jQuery.inArray = function( elem, array ) { +/// +/// Search for a specified value within an array and return its index (or -1 if not found). +/// +/// +/// The value to search for. +/// +/// +/// An array through which to search. +/// +/// + + if ( !array ) { + return -1; + } + + if ( indexOf ) { + return indexOf.call( array, elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }; +jQuery.isEmptyObject = function( obj ) { +/// +/// Check to see if an object is empty (contains no properties). +/// +/// +/// The object that will be checked to see if it's empty. +/// +/// + + for ( var name in obj ) { + return false; + } + return true; + }; +jQuery.isFunction = function( obj ) { +/// +/// Determine if the argument passed is a Javascript function object. +/// +/// +/// Object to test whether or not it is a function. +/// +/// + + return jQuery.type(obj) === "function"; + }; +jQuery.isNaN = function( obj ) { + + return obj == null || !rdigit.test( obj ) || isNaN( obj ); + }; +jQuery.isPlainObject = function( obj ) { +/// +/// Check to see if an object is a plain object (created using "{}" or "new Object"). +/// +/// +/// The object that will be checked to see if it's a plain object. +/// +/// + + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }; +jQuery.isReady = true; +jQuery.isWindow = function( obj ) { +/// +/// Determine whether the argument is a window. +/// +/// +/// Object to test whether or not it is a window. +/// +/// + + return obj && typeof obj === "object" && "setInterval" in obj; + }; +jQuery.isXMLDoc = function( elem ) { +/// +/// Check to see if a DOM node is within an XML document (or is an XML document). +/// +/// +/// The DOM node that will be checked to see if it's in an XML document. +/// +/// + + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; +jQuery.lastModified = {}; +jQuery.makeArray = function( array, results ) { +/// +/// Convert an array-like object into a true JavaScript array. +/// +/// +/// Any object to turn into a native Array. +/// +/// + + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type( array ); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }; +jQuery.map = function( elems, callback, arg ) { +/// +/// Translate all items in an array or object to new array of items. +/// 1 - jQuery.map(array, callback(elementOfArray, indexInArray)) +/// 2 - jQuery.map(arrayOrObject, callback( value, indexOrKey )) +/// +/// +/// The Array to translate. +/// +/// +/// The function to process each item against. The first argument to the function is the array item, the second argument is the index in array The function can return any value. Within the function, this refers to the global (window) object. +/// +/// + + var value, key, ret = [], + i = 0, + length = elems.length, + // jquery objects are treated as arrays + isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( key in elems ) { + value = callback( elems[ key ], key, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return ret.concat.apply( [], ret ); + }; +jQuery.merge = function( first, second ) { +/// +/// Merge the contents of two arrays together into the first array. +/// +/// +/// The first array to merge, the elements of second added. +/// +/// +/// The second array to merge into the first, unaltered. +/// +/// + + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }; +jQuery.noConflict = function( deep ) { +/// +/// Relinquish jQuery's control of the $ variable. +/// +/// +/// A Boolean indicating whether to remove all jQuery variables from the global scope (including jQuery itself). +/// +/// + + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }; +jQuery.noData = { "embed": true, +"object": 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000', +"applet": true }; +jQuery.nodeName = function( elem, name ) { + + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }; +jQuery.noop = function() { +/// +/// An empty function. +/// +/// +}; +jQuery.now = function() { +/// +/// Return a number representing the current time. +/// +/// + + return (new Date()).getTime(); + }; +jQuery.nth = function( cur, result, dir, elem ) { + + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }; +jQuery.offset = {}; +jQuery.param = function( a, traditional ) { +/// +/// Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. +/// 1 - jQuery.param(obj) +/// 2 - jQuery.param(obj, traditional) +/// +/// +/// An array or object to serialize. +/// +/// +/// A Boolean indicating whether to perform a traditional "shallow" serialization. +/// +/// + + var s = [], + add = function( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction( value ) ? value() : value; + s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( var prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ).replace( r20, "+" ); + }; +jQuery.parseJSON = function( data ) { +/// +/// Takes a well-formed JSON string and returns the resulting JavaScript object. +/// +/// +/// The JSON string to parse. +/// +/// + + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return (new Function( "return " + data ))(); + + } + jQuery.error( "Invalid JSON: " + data ); + }; +jQuery.parseXML = function( data ) { +/// +/// Parses a string into an XML document. +/// +/// +/// a well-formed XML string to be parsed +/// +/// + + var xml, tmp; + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }; +jQuery.post = function( url, data, callback, type ) { +/// +/// Load data from the server using a HTTP POST request. +/// +/// +/// A string containing the URL to which the request is sent. +/// +/// +/// A map or string that is sent to the server with the request. +/// +/// +/// A callback function that is executed if the request succeeds. +/// +/// +/// The type of data expected from the server. Default: Intelligent Guess (xml, json, script, or html). +/// + + // shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + type: method, + url: url, + data: data, + success: callback, + dataType: type + }); + }; +jQuery.prop = function( elem, name, value ) { + + var nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return undefined; + } + + var ret, hooks, + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return (elem[ name ] = value); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }; +jQuery.propFix = { "tabindex": 'tabIndex', +"readonly": 'readOnly', +"for": 'htmlFor', +"class": 'className', +"maxlength": 'maxLength', +"cellspacing": 'cellSpacing', +"cellpadding": 'cellPadding', +"rowspan": 'rowSpan', +"colspan": 'colSpan', +"usemap": 'useMap', +"frameborder": 'frameBorder', +"contenteditable": 'contentEditable' }; +jQuery.propHooks = { "tabIndex": {}, +"selected": {} }; +jQuery.proxy = function( fn, context ) { +/// +/// Takes a function and returns a new one that will always have a particular context. +/// 1 - jQuery.proxy(function, context) +/// 2 - jQuery.proxy(context, name) +/// +/// +/// The function whose context will be changed. +/// +/// +/// The object to which the context (this) of the function should be set. +/// +/// + + if ( typeof context === "string" ) { + var tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + var args = slice.call( arguments, 2 ), + proxy = function() { + return fn.apply( context, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + + return proxy; + }; +jQuery.queue = function( elem, type, data ) { +/// +/// 1: Show the queue of functions to be executed on the matched element. +/// 1.1 - jQuery.queue(element, queueName) +/// 2: Manipulate the queue of functions to be executed on the matched element. +/// 2.1 - jQuery.queue(element, queueName, newQueue) +/// 2.2 - jQuery.queue(element, queueName, callback()) +/// +/// +/// A DOM element where the array of queued functions is attached. +/// +/// +/// A string containing the name of the queue. Defaults to fx, the standard effects queue. +/// +/// +/// An array of functions to replace the current queue contents. +/// +/// + + if ( elem ) { + type = (type || "fx") + "queue"; + var q = jQuery.data( elem, type, undefined, true ); + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !q || jQuery.isArray(data) ) { + q = jQuery.data( elem, type, jQuery.makeArray(data), true ); + } else { + q.push( data ); + } + } + return q || []; + } + }; +jQuery.ready = function( wait ) { + + // Either a released hold or an DOMready/load event and not yet ready + if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + }; +jQuery.readyWait = 0; +jQuery.removeAttr = function( elem, name ) { + + var propName; + if ( elem.nodeType === 1 ) { + name = jQuery.attrFix[ name ] || name; + + jQuery.attr( elem, name, "" ); + elem.removeAttribute( name ); + + // Set corresponding property to false for boolean attributes + if ( rboolean.test( name ) && (propName = jQuery.propFix[ name ] || name) in elem ) { + elem[ propName ] = false; + } + } + }; +jQuery.removeData = function( elem, name, pvt /* Internal Use Only */ ) { +/// +/// Remove a previously-stored piece of data. +/// +/// +/// A DOM element from which to remove data. +/// +/// +/// A string naming the piece of data to remove. +/// +/// + + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, + + // Reference to internal data cache key + internalKey = jQuery.expando, + + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + + // See jQuery.data for more information + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; + + if ( thisCache ) { + + // Support interoperable removal of hyphenated or camelcased keys + if ( !thisCache[ name ] ) { + name = jQuery.camelCase( name ); + } + + delete thisCache[ name ]; + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !isEmptyDataObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( pvt ) { + delete cache[ id ][ internalKey ]; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject(cache[ id ]) ) { + return; + } + } + + var internalCache = cache[ id ][ internalKey ]; + + // Browsers that fail expando deletion also refuse to delete expandos on + // the window, but it will allow it on all other JS objects; other browsers + // don't care + // Ensure that `cache` is not a window object #10080 + if ( jQuery.support.deleteExpando || !cache.setInterval ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the entire user cache at once because it's faster than + // iterating through each key, but we need to continue to persist internal + // data if it existed + if ( internalCache ) { + cache[ id ] = {}; + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + + cache[ id ][ internalKey ] = internalCache; + + // Otherwise, we need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + } else if ( isNode ) { + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } else { + elem[ jQuery.expando ] = null; + } + } + }; +jQuery.removeEvent = function( elem, type, handle ) { + + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + }; +jQuery.sibling = function( n, elem ) { + + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + }; +jQuery.speed = function( speed, easing, fn ) { + + var opt = speed && typeof speed === "object" ? jQuery.extend({}, speed) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction(easing) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[opt.duration] : jQuery.fx.speeds._default; + + // Queueing + opt.old = opt.complete; + opt.complete = function( noUnmark ) { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue !== false ) { + jQuery.dequeue( this ); + } else if ( noUnmark !== false ) { + jQuery._unmark( this ); + } + }; + + return opt; + }; +jQuery.style = function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, origName = jQuery.camelCase( name ), + style = elem.style, hooks = jQuery.cssHooks[ origName ]; + + name = jQuery.cssProps[ origName ] || origName; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( +( ret[1] + 1) * +ret[2] ) + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) { + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }; +jQuery.sub = function() { +/// +/// Creates a new copy of jQuery whose properties and methods can be modified without affecting the original jQuery object. +/// +/// + + function jQuerySub( selector, context ) { + return new jQuerySub.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySub, this ); + jQuerySub.superclass = this; + jQuerySub.fn = jQuerySub.prototype = this(); + jQuerySub.fn.constructor = jQuerySub; + jQuerySub.sub = this.sub; + jQuerySub.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { + context = jQuerySub( context ); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); + }; + jQuerySub.fn.init.prototype = jQuerySub.fn; + var rootjQuerySub = jQuerySub(document); + return jQuerySub; + }; +jQuery.support = { "leadingWhitespace": true, +"tbody": true, +"htmlSerialize": true, +"style": true, +"hrefNormalized": true, +"opacity": true, +"cssFloat": true, +"checkOn": true, +"optSelected": false, +"getSetAttribute": true, +"submitBubbles": true, +"changeBubbles": true, +"focusinBubbles": true, +"deleteExpando": true, +"noCloneEvent": true, +"inlineBlockNeedsLayout": false, +"shrinkWrapBlocks": false, +"reliableMarginRight": true, +"noCloneChecked": false, +"optDisabled": true, +"radioValue": false, +"checkClone": false, +"appendChecked": true, +"boxModel": true, +"reliableHiddenOffsets": true, +"ajax": true, +"cors": false }; +jQuery.swap = function( elem, options, callback ) { + + var old = {}; + + // Remember the old values, and insert the new ones + for ( var name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + }; +jQuery.text = function( elems ) { + + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; +jQuery.trim = function( text ) { +/// +/// Remove the whitespace from the beginning and end of a string. +/// +/// +/// The string to trim. +/// +/// + + return text == null ? + "" : + trim.call( text ); + }; +jQuery.type = function( obj ) { +/// +/// Determine the internal JavaScript [[Class]] of an object. +/// +/// +/// Object to get the internal JavaScript [[Class]] of. +/// +/// + + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }; +jQuery.uaMatch = function( ua ) { + + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }; +jQuery.unique = function( results ) { +/// +/// Sorts an array of DOM elements, in place, with the duplicates removed. Note that this only works on arrays of DOM elements, not strings or numbers. +/// +/// +/// The Array of DOM elements. +/// +/// + + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; +jQuery.uuid = 0; +jQuery.valHooks = { "option": {}, +"select": {}, +"radio": {}, +"checkbox": {} }; +jQuery.when = function( firstParam ) { +/// +/// Provides a way to execute callback functions based on one or more objects, usually Deferred objects that represent asynchronous events. +/// +/// +/// One or more Deferred objects, or plain JavaScript objects. +/// +/// + + var args = arguments, + i = 0, + length = args.length, + count = length, + deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? + firstParam : + jQuery.Deferred(); + function resolveFunc( i ) { + return function( value ) { + args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; + if ( !( --count ) ) { + // Strange bug in FF4: + // Values changed onto the arguments object sometimes end up as undefined values + // outside the $.when method. Cloning the object into a fresh array solves the issue + deferred.resolveWith( deferred, sliceDeferred.call( args, 0 ) ); + } + }; + } + if ( length > 1 ) { + for( ; i < length; i++ ) { + if ( args[ i ] && jQuery.isFunction( args[ i ].promise ) ) { + args[ i ].promise().then( resolveFunc(i), deferred.reject ); + } else { + --count; + } + } + if ( !count ) { + deferred.resolveWith( deferred, args ); + } + } else if ( deferred !== firstParam ) { + deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); + } + return deferred.promise(); + }; +jQuery.Event.prototype.isDefaultPrevented = function returnFalse() { +/// +/// Returns whether event.preventDefault() was ever called on this event object. +/// +/// + + return false; +}; +jQuery.Event.prototype.isImmediatePropagationStopped = function returnFalse() { +/// +/// Returns whether event.stopImmediatePropagation() was ever called on this event object. +/// +/// + + return false; +}; +jQuery.Event.prototype.isPropagationStopped = function returnFalse() { +/// +/// Returns whether event.stopPropagation() was ever called on this event object. +/// +/// + + return false; +}; +jQuery.Event.prototype.preventDefault = function() { +/// +/// If this method is called, the default action of the event will not be triggered. +/// +/// + + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }; +jQuery.Event.prototype.stopImmediatePropagation = function() { +/// +/// Keeps the rest of the handlers from being executed and prevents the event from bubbling up the DOM tree. +/// + + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }; +jQuery.Event.prototype.stopPropagation = function() { +/// +/// Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event. +/// + + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }; +jQuery.prototype._toggle = function( fn ) { + + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); + }; +jQuery.prototype.add = function( selector, context ) { +/// +/// Add elements to the set of matched elements. +/// 1 - add(selector) +/// 2 - add(elements) +/// 3 - add(html) +/// 4 - add(jQuery object) +/// 5 - add(selector, context) +/// +/// +/// A string representing a selector expression to find additional elements to add to the set of matched elements. +/// +/// +/// The point in the document at which the selector should begin matching; similar to the context argument of the $(selector, context) method. +/// +/// + + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }; +jQuery.prototype.addClass = function( value ) { +/// +/// Adds the specified class(es) to each of the set of matched elements. +/// 1 - addClass(className) +/// 2 - addClass(function(index, currentClass)) +/// +/// +/// One or more class names to be added to the class attribute of each matched element. +/// +/// + + var classNames, i, l, elem, + setClass, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call(this, j, this.className) ); + }); + } + + if ( value && typeof value === "string" ) { + classNames = value.split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className && classNames.length === 1 ) { + elem.className = value; + + } else { + setClass = " " + elem.className + " "; + + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) { + setClass += classNames[ c ] + " "; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }; +jQuery.prototype.after = function() { +/// +/// Insert content, specified by the parameter, after each element in the set of matched elements. +/// 1 - after(content, content) +/// 2 - after(function(index)) +/// +/// +/// HTML string, DOM element, or jQuery object to insert after each element in the set of matched elements. +/// +/// +/// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert after each element in the set of matched elements. +/// +/// + + if ( this[0] && this[0].parentNode ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + }); + } else if ( arguments.length ) { + var set = this.pushStack( this, "after", arguments ); + set.push.apply( set, jQuery(arguments[0]).toArray() ); + return set; + } + }; +jQuery.prototype.ajaxComplete = function( f ){ +/// +/// Register a handler to be called when Ajax requests complete. This is an Ajax Event. +/// +/// +/// The function to be invoked. +/// +/// + + return this.bind( o, f ); + }; +jQuery.prototype.ajaxError = function( f ){ +/// +/// Register a handler to be called when Ajax requests complete with an error. This is an Ajax Event. +/// +/// +/// The function to be invoked. +/// +/// + + return this.bind( o, f ); + }; +jQuery.prototype.ajaxSend = function( f ){ +/// +/// Attach a function to be executed before an Ajax request is sent. This is an Ajax Event. +/// +/// +/// The function to be invoked. +/// +/// + + return this.bind( o, f ); + }; +jQuery.prototype.ajaxStart = function( f ){ +/// +/// Register a handler to be called when the first Ajax request begins. This is an Ajax Event. +/// +/// +/// The function to be invoked. +/// +/// + + return this.bind( o, f ); + }; +jQuery.prototype.ajaxStop = function( f ){ +/// +/// Register a handler to be called when all Ajax requests have completed. This is an Ajax Event. +/// +/// +/// The function to be invoked. +/// +/// + + return this.bind( o, f ); + }; +jQuery.prototype.ajaxSuccess = function( f ){ +/// +/// Attach a function to be executed whenever an Ajax request completes successfully. This is an Ajax Event. +/// +/// +/// The function to be invoked. +/// +/// + + return this.bind( o, f ); + }; +jQuery.prototype.andSelf = function() { +/// +/// Add the previous set of elements on the stack to the current set. +/// +/// + + return this.add( this.prevObject ); + }; +jQuery.prototype.animate = function( prop, speed, easing, callback ) { +/// +/// Perform a custom animation of a set of CSS properties. +/// 1 - animate(properties, duration, easing, complete) +/// 2 - animate(properties, options) +/// +/// +/// A map of CSS properties that the animation will move toward. +/// +/// +/// A string or number determining how long the animation will run. +/// +/// +/// A string indicating which easing function to use for the transition. +/// +/// +/// A function to call once the animation is complete. +/// +/// + + var optall = jQuery.speed(speed, easing, callback); + + if ( jQuery.isEmptyObject( prop ) ) { + return this.each( optall.complete, [ false ] ); + } + + // Do not change referenced properties as per-property easing will be lost + prop = jQuery.extend( {}, prop ); + + return this[ optall.queue === false ? "each" : "queue" ](function() { + // XXX 'this' does not always have a nodeName when running the + // test suite + + if ( optall.queue === false ) { + jQuery._mark( this ); + } + + var opt = jQuery.extend( {}, optall ), + isElement = this.nodeType === 1, + hidden = isElement && jQuery(this).is(":hidden"), + name, val, p, + display, e, + parts, start, end, unit; + + // will store per property easing and be used to determine when an animation is complete + opt.animatedProperties = {}; + + for ( p in prop ) { + + // property name normalization + name = jQuery.camelCase( p ); + if ( p !== name ) { + prop[ name ] = prop[ p ]; + delete prop[ p ]; + } + + val = prop[ name ]; + + // easing resolution: per property > opt.specialEasing > opt.easing > 'swing' (default) + if ( jQuery.isArray( val ) ) { + opt.animatedProperties[ name ] = val[ 1 ]; + val = prop[ name ] = val[ 0 ]; + } else { + opt.animatedProperties[ name ] = opt.specialEasing && opt.specialEasing[ name ] || opt.easing || 'swing'; + } + + if ( val === "hide" && hidden || val === "show" && !hidden ) { + return opt.complete.call( this ); + } + + if ( isElement && ( name === "height" || name === "width" ) ) { + // Make sure that nothing sneaks out + // Record all 3 overflow attributes because IE does not + // change the overflow attribute when overflowX and + // overflowY are set to the same value + opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ]; + + // Set display property to inline-block for height/width + // animations on inline elements that are having width/height + // animated + if ( jQuery.css( this, "display" ) === "inline" && + jQuery.css( this, "float" ) === "none" ) { + if ( !jQuery.support.inlineBlockNeedsLayout ) { + this.style.display = "inline-block"; + + } else { + display = defaultDisplay( this.nodeName ); + + // inline-level elements accept inline-block; + // block-level elements need to be inline with layout + if ( display === "inline" ) { + this.style.display = "inline-block"; + + } else { + this.style.display = "inline"; + this.style.zoom = 1; + } + } + } + } + } + + if ( opt.overflow != null ) { + this.style.overflow = "hidden"; + } + + for ( p in prop ) { + e = new jQuery.fx( this, opt, p ); + val = prop[ p ]; + + if ( rfxtypes.test(val) ) { + e[ val === "toggle" ? hidden ? "show" : "hide" : val ](); + + } else { + parts = rfxnum.exec( val ); + start = e.cur(); + + if ( parts ) { + end = parseFloat( parts[2] ); + unit = parts[3] || ( jQuery.cssNumber[ p ] ? "" : "px" ); + + // We need to compute starting value + if ( unit !== "px" ) { + jQuery.style( this, p, (end || 1) + unit); + start = ((end || 1) / e.cur()) * start; + jQuery.style( this, p, start + unit); + } + + // If a +=/-= token was provided, we're doing a relative animation + if ( parts[1] ) { + end = ( (parts[ 1 ] === "-=" ? -1 : 1) * end ) + start; + } + + e.custom( start, end, unit ); + + } else { + e.custom( start, val, "" ); + } + } + } + + // For JS strict compliance + return true; + }); + }; +jQuery.prototype.append = function() { +/// +/// Insert content, specified by the parameter, to the end of each element in the set of matched elements. +/// 1 - append(content, content) +/// 2 - append(function(index, html)) +/// +/// +/// DOM element, HTML string, or jQuery object to insert at the end of each element in the set of matched elements. +/// +/// +/// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the end of each element in the set of matched elements. +/// +/// + + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 ) { + this.appendChild( elem ); + } + }); + }; +jQuery.prototype.appendTo = function( selector ) { +/// +/// Insert every element in the set of matched elements to the end of the target. +/// +/// +/// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted at the end of the element(s) specified by this parameter. +/// +/// + + var ret = [], + insert = jQuery( selector ), + parent = this.length === 1 && this[0].parentNode; + + if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { + insert[ original ]( this[0] ); + return this; + + } else { + for ( var i = 0, l = insert.length; i < l; i++ ) { + var elems = (i > 0 ? this.clone(true) : this).get(); + jQuery( insert[i] )[ original ]( elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +jQuery.prototype.attr = function( name, value ) { +/// +/// 1: Get the value of an attribute for the first element in the set of matched elements. +/// 1.1 - attr(attributeName) +/// 2: Set one or more attributes for the set of matched elements. +/// 2.1 - attr(attributeName, value) +/// 2.2 - attr(map) +/// 2.3 - attr(attributeName, function(index, attr)) +/// +/// +/// The name of the attribute to set. +/// +/// +/// A value to set for the attribute. +/// +/// + + return jQuery.access( this, name, value, true, jQuery.attr ); + }; +jQuery.prototype.before = function() { +/// +/// Insert content, specified by the parameter, before each element in the set of matched elements. +/// 1 - before(content, content) +/// 2 - before(function) +/// +/// +/// HTML string, DOM element, or jQuery object to insert before each element in the set of matched elements. +/// +/// +/// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert before each element in the set of matched elements. +/// +/// + + if ( this[0] && this[0].parentNode ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this ); + }); + } else if ( arguments.length ) { + var set = jQuery(arguments[0]); + set.push.apply( set, this.toArray() ); + return this.pushStack( set, "before", arguments ); + } + }; +jQuery.prototype.bind = function( type, data, fn ) { +/// +/// Attach a handler to an event for the elements. +/// 1 - bind(eventType, eventData, handler(eventObject)) +/// 2 - bind(eventType, eventData, preventBubble) +/// 3 - bind(events) +/// +/// +/// A string containing one or more JavaScript event types, such as "click" or "submit," or custom event names. +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + var handler; + + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( arguments.length === 2 || data === false ) { + fn = data; + data = undefined; + } + + if ( name === "one" ) { + handler = function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }; + handler.guid = fn.guid || jQuery.guid++; + } else { + handler = fn; + } + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +jQuery.prototype.blur = function( data, fn ) { +/// +/// Bind an event handler to the "blur" JavaScript event, or trigger that event on an element. +/// 1 - blur(handler(eventObject)) +/// 2 - blur(eventData, handler(eventObject)) +/// 3 - blur() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.change = function( data, fn ) { +/// +/// Bind an event handler to the "change" JavaScript event, or trigger that event on an element. +/// 1 - change(handler(eventObject)) +/// 2 - change(eventData, handler(eventObject)) +/// 3 - change() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.children = function( until, selector ) { +/// +/// Get the children of each element in the set of matched elements, optionally filtered by a selector. +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.clearQueue = function( type ) { +/// +/// Remove from the queue all items that have not yet been run. +/// +/// +/// A string containing the name of the queue. Defaults to fx, the standard effects queue. +/// +/// + + return this.queue( type || "fx", [] ); + }; +jQuery.prototype.click = function( data, fn ) { +/// +/// Bind an event handler to the "click" JavaScript event, or trigger that event on an element. +/// 1 - click(handler(eventObject)) +/// 2 - click(eventData, handler(eventObject)) +/// 3 - click() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.clone = function( dataAndEvents, deepDataAndEvents ) { +/// +/// Create a deep copy of the set of matched elements. +/// 1 - clone(withDataAndEvents) +/// 2 - clone(withDataAndEvents, deepWithDataAndEvents) +/// +/// +/// A Boolean indicating whether event handlers and data should be copied along with the elements. The default value is false. *In jQuery 1.5.0 the default value was incorrectly true; it was changed back to false in 1.5.1 and up. +/// +/// +/// A Boolean indicating whether event handlers and data for all children of the cloned element should be copied. By default its value matches the first argument's value (which defaults to false). +/// +/// + + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }; +jQuery.prototype.closest = function( selectors, context ) { +/// +/// 1: Get the first ancestor element that matches the selector, beginning at the current element and progressing up through the DOM tree. +/// 1.1 - closest(selector) +/// 1.2 - closest(selector, context) +/// 1.3 - closest(jQuery object) +/// 1.4 - closest(element) +/// 2: Gets an array of all the elements and selectors matched against the current element up through the DOM tree. +/// 2.1 - closest(selectors, context) +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// +/// A DOM element within which a matching element may be found. If no context is passed in then the context of the jQuery set will be used instead. +/// +/// + + var ret = [], i, l, cur = this[0]; + + // Array + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[ selector ] ) { + matches[ selector ] = POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[ selector ]; + + if ( match.jquery ? match.index( cur ) > -1 : jQuery( cur ).is( match ) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + // String + var pos = POS.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique( ret ) : ret; + + return this.pushStack( ret, "closest", selectors ); + }; +jQuery.prototype.constructor = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }; +jQuery.prototype.contents = function( until, selector ) { +/// +/// Get the children of each element in the set of matched elements, including text and comment nodes. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.css = function( name, value ) { +/// +/// 1: Get the value of a style property for the first element in the set of matched elements. +/// 1.1 - css(propertyName) +/// 2: Set one or more CSS properties for the set of matched elements. +/// 2.1 - css(propertyName, value) +/// 2.2 - css(propertyName, function(index, value)) +/// 2.3 - css(map) +/// +/// +/// A CSS property name. +/// +/// +/// A value to set for the property. +/// +/// + + // Setting 'undefined' is a no-op + if ( arguments.length === 2 && value === undefined ) { + return this; + } + + return jQuery.access( this, name, value, true, function( elem, name, value ) { + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }); +}; +jQuery.prototype.data = function( key, value ) { +/// +/// 1: Store arbitrary data associated with the matched elements. +/// 1.1 - data(key, value) +/// 1.2 - data(obj) +/// 2: Returns value at named data store for the first element in the jQuery collection, as set by data(name, value). +/// 2.1 - data(key) +/// 2.2 - data() +/// +/// +/// A string naming the piece of data to set. +/// +/// +/// The new data value; it can be any Javascript type including Array or Object. +/// +/// + + var data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + data = jQuery.data( this[0] ); + + if ( this[0].nodeType === 1 ) { + var attr = this[0].attributes, name; + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.substring(5) ); + + dataAttr( this[0], name, data[ name ] ); + } + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + // Try to fetch any internally stored data first + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + data = dataAttr( this[0], key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + + } else { + return this.each(function() { + var $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.triggerHandler( "changeData" + parts[1] + "!", args ); + }); + } + }; +jQuery.prototype.dblclick = function( data, fn ) { +/// +/// Bind an event handler to the "dblclick" JavaScript event, or trigger that event on an element. +/// 1 - dblclick(handler(eventObject)) +/// 2 - dblclick(eventData, handler(eventObject)) +/// 3 - dblclick() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.delay = function( time, type ) { +/// +/// Set a timer to delay execution of subsequent items in the queue. +/// +/// +/// An integer indicating the number of milliseconds to delay execution of the next item in the queue. +/// +/// +/// A string containing the name of the queue. Defaults to fx, the standard effects queue. +/// +/// + + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue( type, function() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }; +jQuery.prototype.delegate = function( selector, types, data, fn ) { +/// +/// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. +/// 1 - delegate(selector, eventType, handler) +/// 2 - delegate(selector, eventType, eventData, handler) +/// 3 - delegate(selector, events) +/// +/// +/// A selector to filter the elements that trigger the event. +/// +/// +/// A string containing one or more space-separated JavaScript event types, such as "click" or "keydown," or custom event names. +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute at the time the event is triggered. +/// +/// + + return this.live( types, data, fn, selector ); + }; +jQuery.prototype.dequeue = function( type ) { +/// +/// Execute the next function on the queue for the matched elements. +/// +/// +/// A string containing the name of the queue. Defaults to fx, the standard effects queue. +/// +/// + + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }; +jQuery.prototype.detach = function( selector ) { +/// +/// Remove the set of matched elements from the DOM. +/// +/// +/// A selector expression that filters the set of matched elements to be removed. +/// +/// + + return this.remove( selector, true ); + }; +jQuery.prototype.die = function( types, data, fn, origSelector /* Internal Use Only */ ) { +/// +/// 1: Remove all event handlers previously attached using .live() from the elements. +/// 1.1 - die() +/// 2: Remove an event handler previously attached using .live() from the elements. +/// 2.1 - die(eventType, handler) +/// 2.2 - die(eventTypes) +/// +/// +/// A string containing a JavaScript event type, such as click or keydown. +/// +/// +/// The function that is no longer to be executed. +/// +/// + + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } + + if ( name === "die" && !types && + origSelector && origSelector.charAt(0) === "." ) { + + context.unbind( origSelector ); + + return this; + } + + if ( data === false || jQuery.isFunction( data ) ) { + fn = data || returnFalse; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( liveMap[ type ] ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + for ( var j = 0, l = context.length; j < l; j++ ) { + jQuery.event.add( context[j], "live." + liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + } + + } else { + // unbind live handler + context.unbind( "live." + liveConvert( type, selector ), fn ); + } + } + + return this; + }; +jQuery.prototype.domManip = function( args, table, callback ) { + + var results, first, fragment, parent, + value = args[0], + scripts = []; + + // We can't cloneNode fragments that contain checked, in WebKit + if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) { + return this.each(function() { + jQuery(this).domManip( args, table, callback, true ); + }); + } + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + args[0] = value.call(this, i, table ? self.html() : undefined); + self.domManip( args, table, callback ); + }); + } + + if ( this[0] ) { + parent = value && value.parentNode; + + // If we're in a fragment, just use that instead of building a new one + if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) { + results = { fragment: parent }; + + } else { + results = jQuery.buildFragment( args, this, scripts ); + } + + fragment = results.fragment; + + if ( fragment.childNodes.length === 1 ) { + first = fragment = fragment.firstChild; + } else { + first = fragment.firstChild; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + + for ( var i = 0, l = this.length, lastIndex = l - 1; i < l; i++ ) { + callback.call( + table ? + root(this[i], first) : + this[i], + // Make sure that we do not leak memory by inadvertently discarding + // the original fragment (which might have attached data) instead of + // using it; in addition, use the original fragment object for the last + // item instead of first because it can end up being emptied incorrectly + // in certain situations (Bug #8070). + // Fragments from the fragment cache must always be cloned and never used + // in place. + results.cacheable || (l > 1 && i < lastIndex) ? + jQuery.clone( fragment, true, true ) : + fragment + ); + } + } + + if ( scripts.length ) { + jQuery.each( scripts, evalScript ); + } + } + + return this; + }; +jQuery.prototype.each = function( callback, args ) { +/// +/// Iterate over a jQuery object, executing a function for each matched element. +/// +/// +/// A function to execute for each matched element. +/// +/// + + return jQuery.each( this, callback, args ); + }; +jQuery.prototype.empty = function() { +/// +/// Remove all child nodes of the set of matched elements from the DOM. +/// +/// + + for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + } + + return this; + }; +jQuery.prototype.end = function() { +/// +/// End the most recent filtering operation in the current chain and return the set of matched elements to its previous state. +/// +/// + + return this.prevObject || this.constructor(null); + }; +jQuery.prototype.eq = function( i ) { +/// +/// Reduce the set of matched elements to the one at the specified index. +/// 1 - eq(index) +/// 2 - eq(-index) +/// +/// +/// An integer indicating the 0-based position of the element. +/// +/// + + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }; +jQuery.prototype.error = function( data, fn ) { +/// +/// Bind an event handler to the "error" JavaScript event. +/// 1 - error(handler(eventObject)) +/// 2 - error(eventData, handler(eventObject)) +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.extend = function() { + + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; +jQuery.prototype.fadeIn = function( speed, easing, callback ) { +/// +/// Display the matched elements by fading them to opaque. +/// 1 - fadeIn(duration, callback) +/// 2 - fadeIn(duration, easing, callback) +/// +/// +/// A string or number determining how long the animation will run. +/// +/// +/// A string indicating which easing function to use for the transition. +/// +/// +/// A function to call once the animation is complete. +/// +/// + + return this.animate( props, speed, easing, callback ); + }; +jQuery.prototype.fadeOut = function( speed, easing, callback ) { +/// +/// Hide the matched elements by fading them to transparent. +/// 1 - fadeOut(duration, callback) +/// 2 - fadeOut(duration, easing, callback) +/// +/// +/// A string or number determining how long the animation will run. +/// +/// +/// A string indicating which easing function to use for the transition. +/// +/// +/// A function to call once the animation is complete. +/// +/// + + return this.animate( props, speed, easing, callback ); + }; +jQuery.prototype.fadeTo = function( speed, to, easing, callback ) { +/// +/// Adjust the opacity of the matched elements. +/// 1 - fadeTo(duration, opacity, callback) +/// 2 - fadeTo(duration, opacity, easing, callback) +/// +/// +/// A string or number determining how long the animation will run. +/// +/// +/// A number between 0 and 1 denoting the target opacity. +/// +/// +/// A string indicating which easing function to use for the transition. +/// +/// +/// A function to call once the animation is complete. +/// +/// + + return this.filter(":hidden").css("opacity", 0).show().end() + .animate({opacity: to}, speed, easing, callback); + }; +jQuery.prototype.fadeToggle = function( speed, easing, callback ) { +/// +/// Display or hide the matched elements by animating their opacity. +/// +/// +/// A string or number determining how long the animation will run. +/// +/// +/// A string indicating which easing function to use for the transition. +/// +/// +/// A function to call once the animation is complete. +/// +/// + + return this.animate( props, speed, easing, callback ); + }; +jQuery.prototype.filter = function( selector ) { +/// +/// Reduce the set of matched elements to those that match the selector or pass the function's test. +/// 1 - filter(selector) +/// 2 - filter(function(index)) +/// 3 - filter(element) +/// 4 - filter(jQuery object) +/// +/// +/// A string containing a selector expression to match the current set of elements against. +/// +/// + + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }; +jQuery.prototype.find = function( selector ) { +/// +/// Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. +/// 1 - find(selector) +/// 2 - find(jQuery object) +/// 3 - find(element) +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var self = this, + i, l; + + if ( typeof selector !== "string" ) { + return jQuery( selector ).filter(function() { + for ( i = 0, l = self.length; i < l; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }); + } + + var ret = this.pushStack( "", "find", selector ), + length, n, r; + + for ( i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( n = length; n < ret.length; n++ ) { + for ( r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }; +jQuery.prototype.first = function() { +/// +/// Reduce the set of matched elements to the first in the set. +/// +/// + + return this.eq( 0 ); + }; +jQuery.prototype.focus = function( data, fn ) { +/// +/// Bind an event handler to the "focus" JavaScript event, or trigger that event on an element. +/// 1 - focus(handler(eventObject)) +/// 2 - focus(eventData, handler(eventObject)) +/// 3 - focus() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.focusin = function( data, fn ) { +/// +/// Bind an event handler to the "focusin" JavaScript event. +/// 1 - focusin(handler(eventObject)) +/// 2 - focusin(eventData, handler(eventObject)) +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.focusout = function( data, fn ) { +/// +/// Bind an event handler to the "focusout" JavaScript event. +/// 1 - focusout(handler(eventObject)) +/// 2 - focusout(eventData, handler(eventObject)) +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.get = function( num ) { +/// +/// Retrieve the DOM elements matched by the jQuery object. +/// +/// +/// A zero-based integer indicating which element to retrieve. +/// +/// + + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }; +jQuery.prototype.has = function( target ) { +/// +/// Reduce the set of matched elements to those that have a descendant that matches the selector or DOM element. +/// 1 - has(selector) +/// 2 - has(contained) +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }; +jQuery.prototype.hasClass = function( selector ) { +/// +/// Determine whether any of the matched elements are assigned the given class. +/// +/// +/// The class name to search for. +/// +/// + + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }; +jQuery.prototype.height = function( size ) { +/// +/// 1: Get the current computed height for the first element in the set of matched elements. +/// 1.1 - height() +/// 2: Set the CSS height of every matched element. +/// 2.1 - height(value) +/// 2.2 - height(function(index, height)) +/// +/// +/// An integer representing the number of pixels, or an integer with an optional unit of measure appended (as a string). +/// +/// + + // Get window width or height + var elem = this[0]; + if ( !elem ) { + return size == null ? null : this; + } + + if ( jQuery.isFunction( size ) ) { + return this.each(function( i ) { + var self = jQuery( this ); + self[ type ]( size.call( this, i, self[ type ]() ) ); + }); + } + + if ( jQuery.isWindow( elem ) ) { + // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode + // 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat + var docElemProp = elem.document.documentElement[ "client" + name ], + body = elem.document.body; + return elem.document.compatMode === "CSS1Compat" && docElemProp || + body && body[ "client" + name ] || docElemProp; + + // Get document width or height + } else if ( elem.nodeType === 9 ) { + // Either scroll[Width/Height] or offset[Width/Height], whichever is greater + return Math.max( + elem.documentElement["client" + name], + elem.body["scroll" + name], elem.documentElement["scroll" + name], + elem.body["offset" + name], elem.documentElement["offset" + name] + ); + + // Get or set width or height on the element + } else if ( size === undefined ) { + var orig = jQuery.css( elem, type ), + ret = parseFloat( orig ); + + return jQuery.isNaN( ret ) ? orig : ret; + + // Set the width or height on the element (default to pixels if value is unitless) + } else { + return this.css( type, typeof size === "string" ? size : size + "px" ); + } + }; +jQuery.prototype.hide = function( speed, easing, callback ) { +/// +/// Hide the matched elements. +/// 1 - hide() +/// 2 - hide(duration, callback) +/// 3 - hide(duration, easing, callback) +/// +/// +/// A string or number determining how long the animation will run. +/// +/// +/// A string indicating which easing function to use for the transition. +/// +/// +/// A function to call once the animation is complete. +/// +/// + + if ( speed || speed === 0 ) { + return this.animate( genFx("hide", 3), speed, easing, callback); + + } else { + for ( var i = 0, j = this.length; i < j; i++ ) { + if ( this[i].style ) { + var display = jQuery.css( this[i], "display" ); + + if ( display !== "none" && !jQuery._data( this[i], "olddisplay" ) ) { + jQuery._data( this[i], "olddisplay", display ); + } + } + } + + // Set the display of the elements in a second loop + // to avoid the constant reflow + for ( i = 0; i < j; i++ ) { + if ( this[i].style ) { + this[i].style.display = "none"; + } + } + + return this; + } + }; +jQuery.prototype.hover = function( fnOver, fnOut ) { +/// +/// 1: Bind two handlers to the matched elements, to be executed when the mouse pointer enters and leaves the elements. +/// 1.1 - hover(handlerIn(eventObject), handlerOut(eventObject)) +/// 2: Bind a single handler to the matched elements, to be executed when the mouse pointer enters or leaves the elements. +/// 2.1 - hover(handlerInOut(eventObject)) +/// +/// +/// A function to execute when the mouse pointer enters the element. +/// +/// +/// A function to execute when the mouse pointer leaves the element. +/// +/// + + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + }; +jQuery.prototype.html = function( value ) { +/// +/// 1: Get the HTML contents of the first element in the set of matched elements. +/// 1.1 - html() +/// 2: Set the HTML contents of each element in the set of matched elements. +/// 2.1 - html(htmlString) +/// 2.2 - html(function(index, oldhtml)) +/// +/// +/// A string of HTML to set as the content of each matched element. +/// +/// + + if ( value === undefined ) { + return this[0] && this[0].nodeType === 1 ? + this[0].innerHTML.replace(rinlinejQuery, "") : + null; + + // See if we can take a shortcut and just use innerHTML + } else if ( typeof value === "string" && !rnocache.test( value ) && + (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) && + !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) { + + value = value.replace(rxhtmlTag, "<$1>"); + + try { + for ( var i = 0, l = this.length; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + if ( this[i].nodeType === 1 ) { + jQuery.cleanData( this[i].getElementsByTagName("*") ); + this[i].innerHTML = value; + } + } + + // If using innerHTML throws an exception, use the fallback method + } catch(e) { + this.empty().append( value ); + } + + } else if ( jQuery.isFunction( value ) ) { + this.each(function(i){ + var self = jQuery( this ); + + self.html( value.call(this, i, self.html()) ); + }); + + } else { + this.empty().append( value ); + } + + return this; + }; +jQuery.prototype.index = function( elem ) { +/// +/// Search for a given element from among the matched elements. +/// 1 - index() +/// 2 - index(selector) +/// 3 - index(element) +/// +/// +/// A selector representing a jQuery collection in which to look for an element. +/// +/// + + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }; +jQuery.prototype.init = function( selector, context, rootjQuery ) { + + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = selector; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = quickExpr.exec( selector ); + } + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }; +jQuery.prototype.innerHeight = function() { +/// +/// Get the current computed height for the first element in the set of matched elements, including padding but not border. +/// +/// + + var elem = this[0]; + return elem && elem.style ? + parseFloat( jQuery.css( elem, type, "padding" ) ) : + null; + }; +jQuery.prototype.innerWidth = function() { +/// +/// Get the current computed width for the first element in the set of matched elements, including padding but not border. +/// +/// + + var elem = this[0]; + return elem && elem.style ? + parseFloat( jQuery.css( elem, type, "padding" ) ) : + null; + }; +jQuery.prototype.insertAfter = function( selector ) { +/// +/// Insert every element in the set of matched elements after the target. +/// +/// +/// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted after the element(s) specified by this parameter. +/// +/// + + var ret = [], + insert = jQuery( selector ), + parent = this.length === 1 && this[0].parentNode; + + if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { + insert[ original ]( this[0] ); + return this; + + } else { + for ( var i = 0, l = insert.length; i < l; i++ ) { + var elems = (i > 0 ? this.clone(true) : this).get(); + jQuery( insert[i] )[ original ]( elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +jQuery.prototype.insertBefore = function( selector ) { +/// +/// Insert every element in the set of matched elements before the target. +/// +/// +/// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted before the element(s) specified by this parameter. +/// +/// + + var ret = [], + insert = jQuery( selector ), + parent = this.length === 1 && this[0].parentNode; + + if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { + insert[ original ]( this[0] ); + return this; + + } else { + for ( var i = 0, l = insert.length; i < l; i++ ) { + var elems = (i > 0 ? this.clone(true) : this).get(); + jQuery( insert[i] )[ original ]( elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +jQuery.prototype.is = function( selector ) { +/// +/// Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. +/// 1 - is(selector) +/// 2 - is(function(index)) +/// 3 - is(jQuery object) +/// 4 - is(element) +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + return !!selector && ( typeof selector === "string" ? + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }; +jQuery.prototype.keydown = function( data, fn ) { +/// +/// Bind an event handler to the "keydown" JavaScript event, or trigger that event on an element. +/// 1 - keydown(handler(eventObject)) +/// 2 - keydown(eventData, handler(eventObject)) +/// 3 - keydown() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.keypress = function( data, fn ) { +/// +/// Bind an event handler to the "keypress" JavaScript event, or trigger that event on an element. +/// 1 - keypress(handler(eventObject)) +/// 2 - keypress(eventData, handler(eventObject)) +/// 3 - keypress() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.keyup = function( data, fn ) { +/// +/// Bind an event handler to the "keyup" JavaScript event, or trigger that event on an element. +/// 1 - keyup(handler(eventObject)) +/// 2 - keyup(eventData, handler(eventObject)) +/// 3 - keyup() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.last = function() { +/// +/// Reduce the set of matched elements to the final one in the set. +/// +/// + + return this.eq( -1 ); + }; +jQuery.prototype.length = 0; +jQuery.prototype.live = function( types, data, fn, origSelector /* Internal Use Only */ ) { +/// +/// Attach a handler to the event for all elements which match the current selector, now and in the future. +/// 1 - live(eventType, handler) +/// 2 - live(eventType, eventData, handler) +/// 3 - live(events) +/// +/// +/// A string containing a JavaScript event type, such as "click" or "keydown." As of jQuery 1.4 the string can contain multiple, space-separated event types or custom event names, as well. +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute at the time the event is triggered. +/// +/// + + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } + + if ( name === "die" && !types && + origSelector && origSelector.charAt(0) === "." ) { + + context.unbind( origSelector ); + + return this; + } + + if ( data === false || jQuery.isFunction( data ) ) { + fn = data || returnFalse; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( liveMap[ type ] ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + for ( var j = 0, l = context.length; j < l; j++ ) { + jQuery.event.add( context[j], "live." + liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + } + + } else { + // unbind live handler + context.unbind( "live." + liveConvert( type, selector ), fn ); + } + } + + return this; + }; +jQuery.prototype.load = function( url, params, callback ) { +/// +/// 1: Bind an event handler to the "load" JavaScript event. +/// 1.1 - load(handler(eventObject)) +/// 1.2 - load(eventData, handler(eventObject)) +/// 2: Load data from the server and place the returned HTML into the matched element. +/// 2.1 - load(url, data, complete(responseText, textStatus, XMLHttpRequest)) +/// +/// +/// A string containing the URL to which the request is sent. +/// +/// +/// A map or string that is sent to the server with the request. +/// +/// +/// A callback function that is executed when the request completes. +/// +/// + + if ( typeof url !== "string" && _load ) { + return _load.apply( this, arguments ); + + // Don't do a request if no elements are being requested + } else if ( !this.length ) { + return this; + } + + var off = url.indexOf( " " ); + if ( off >= 0 ) { + var selector = url.slice( off, url.length ); + url = url.slice( 0, off ); + } + + // Default to a GET request + var type = "GET"; + + // If the second parameter was provided + if ( params ) { + // If it's a function + if ( jQuery.isFunction( params ) ) { + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( typeof params === "object" ) { + params = jQuery.param( params, jQuery.ajaxSettings.traditional ); + type = "POST"; + } + } + + var self = this; + + // Request the remote document + jQuery.ajax({ + url: url, + type: type, + dataType: "html", + data: params, + // Complete callback (responseText is used internally) + complete: function( jqXHR, status, responseText ) { + // Store the response as specified by the jqXHR object + responseText = jqXHR.responseText; + // If successful, inject the HTML into all the matched elements + if ( jqXHR.isResolved() ) { + // #4825: Get the actual response in case + // a dataFilter is present in ajaxSettings + jqXHR.done(function( r ) { + responseText = r; + }); + // See if a selector was specified + self.html( selector ? + // Create a dummy div to hold the results + jQuery("
    ") + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append(responseText.replace(rscript, "")) + + // Locate the specified elements + .find(selector) : + + // If not, just inject the full result + responseText ); + } + + if ( callback ) { + self.each( callback, [ responseText, status, jqXHR ] ); + } + } + }); + + return this; + }; +jQuery.prototype.map = function( callback ) { +/// +/// Pass each element in the current matched set through a function, producing a new jQuery object containing the return values. +/// +/// +/// A function object that will be invoked for each element in the current set. +/// +/// + + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }; +jQuery.prototype.mousedown = function( data, fn ) { +/// +/// Bind an event handler to the "mousedown" JavaScript event, or trigger that event on an element. +/// 1 - mousedown(handler(eventObject)) +/// 2 - mousedown(eventData, handler(eventObject)) +/// 3 - mousedown() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.mouseenter = function( data, fn ) { +/// +/// Bind an event handler to be fired when the mouse enters an element, or trigger that handler on an element. +/// 1 - mouseenter(handler(eventObject)) +/// 2 - mouseenter(eventData, handler(eventObject)) +/// 3 - mouseenter() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.mouseleave = function( data, fn ) { +/// +/// Bind an event handler to be fired when the mouse leaves an element, or trigger that handler on an element. +/// 1 - mouseleave(handler(eventObject)) +/// 2 - mouseleave(eventData, handler(eventObject)) +/// 3 - mouseleave() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.mousemove = function( data, fn ) { +/// +/// Bind an event handler to the "mousemove" JavaScript event, or trigger that event on an element. +/// 1 - mousemove(handler(eventObject)) +/// 2 - mousemove(eventData, handler(eventObject)) +/// 3 - mousemove() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.mouseout = function( data, fn ) { +/// +/// Bind an event handler to the "mouseout" JavaScript event, or trigger that event on an element. +/// 1 - mouseout(handler(eventObject)) +/// 2 - mouseout(eventData, handler(eventObject)) +/// 3 - mouseout() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.mouseover = function( data, fn ) { +/// +/// Bind an event handler to the "mouseover" JavaScript event, or trigger that event on an element. +/// 1 - mouseover(handler(eventObject)) +/// 2 - mouseover(eventData, handler(eventObject)) +/// 3 - mouseover() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.mouseup = function( data, fn ) { +/// +/// Bind an event handler to the "mouseup" JavaScript event, or trigger that event on an element. +/// 1 - mouseup(handler(eventObject)) +/// 2 - mouseup(eventData, handler(eventObject)) +/// 3 - mouseup() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.next = function( until, selector ) { +/// +/// Get the immediately following sibling of each element in the set of matched elements. If a selector is provided, it retrieves the next sibling only if it matches that selector. +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.nextAll = function( until, selector ) { +/// +/// Get all following siblings of each element in the set of matched elements, optionally filtered by a selector. +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.nextUntil = function( until, selector ) { +/// +/// Get all following siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object passed. +/// 1 - nextUntil(selector, filter) +/// 2 - nextUntil(element, filter) +/// +/// +/// A string containing a selector expression to indicate where to stop matching following sibling elements. +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.not = function( selector ) { +/// +/// Remove elements from the set of matched elements. +/// 1 - not(selector) +/// 2 - not(elements) +/// 3 - not(function(index)) +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + return this.pushStack( winnow(this, selector, false), "not", selector); + }; +jQuery.prototype.offset = function( options ) { +/// +/// 1: Get the current coordinates of the first element in the set of matched elements, relative to the document. +/// 1.1 - offset() +/// 2: Set the current coordinates of every element in the set of matched elements, relative to the document. +/// 2.1 - offset(coordinates) +/// 2.2 - offset(function(index, coords)) +/// +/// +/// An object containing the properties top and left, which are integers indicating the new top and left coordinates for the elements. +/// +/// + + var elem = this[0], box; + + if ( options ) { + return this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + if ( !elem || !elem.ownerDocument ) { + return null; + } + + if ( elem === elem.ownerDocument.body ) { + return jQuery.offset.bodyOffset( elem ); + } + + try { + box = elem.getBoundingClientRect(); + } catch(e) {} + + var doc = elem.ownerDocument, + docElem = doc.documentElement; + + // Make sure we're not dealing with a disconnected DOM node + if ( !box || !jQuery.contains( docElem, elem ) ) { + return box ? { top: box.top, left: box.left } : { top: 0, left: 0 }; + } + + var body = doc.body, + win = getWindow(doc), + clientTop = docElem.clientTop || body.clientTop || 0, + clientLeft = docElem.clientLeft || body.clientLeft || 0, + scrollTop = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop, + scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft, + top = box.top + scrollTop - clientTop, + left = box.left + scrollLeft - clientLeft; + + return { top: top, left: left }; + }; +jQuery.prototype.offsetParent = function() { +/// +/// Get the closest ancestor element that is positioned. +/// +/// + + return this.map(function() { + var offsetParent = this.offsetParent || document.body; + while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent; + }); + }; +jQuery.prototype.one = function( type, data, fn ) { +/// +/// Attach a handler to an event for the elements. The handler is executed at most once per element. +/// +/// +/// A string containing one or more JavaScript event types, such as "click" or "submit," or custom event names. +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute at the time the event is triggered. +/// +/// + + var handler; + + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( arguments.length === 2 || data === false ) { + fn = data; + data = undefined; + } + + if ( name === "one" ) { + handler = function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }; + handler.guid = fn.guid || jQuery.guid++; + } else { + handler = fn; + } + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +jQuery.prototype.outerHeight = function( margin ) { +/// +/// Get the current computed height for the first element in the set of matched elements, including padding, border, and optionally margin. +/// +/// +/// A Boolean indicating whether to include the element's margin in the calculation. +/// +/// + + var elem = this[0]; + return elem && elem.style ? + parseFloat( jQuery.css( elem, type, margin ? "margin" : "border" ) ) : + null; + }; +jQuery.prototype.outerWidth = function( margin ) { +/// +/// Get the current computed width for the first element in the set of matched elements, including padding and border. +/// +/// +/// A Boolean indicating whether to include the element's margin in the calculation. +/// +/// + + var elem = this[0]; + return elem && elem.style ? + parseFloat( jQuery.css( elem, type, margin ? "margin" : "border" ) ) : + null; + }; +jQuery.prototype.parent = function( until, selector ) { +/// +/// Get the parent of each element in the current set of matched elements, optionally filtered by a selector. +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.parents = function( until, selector ) { +/// +/// Get the ancestors of each element in the current set of matched elements, optionally filtered by a selector. +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.parentsUntil = function( until, selector ) { +/// +/// Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector, DOM node, or jQuery object. +/// 1 - parentsUntil(selector, filter) +/// 2 - parentsUntil(element, filter) +/// +/// +/// A string containing a selector expression to indicate where to stop matching ancestor elements. +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.position = function() { +/// +/// Get the current coordinates of the first element in the set of matched elements, relative to the offset parent. +/// +/// + + if ( !this[0] ) { + return null; + } + + var elem = this[0], + + // Get *real* offsetParent + offsetParent = this.offsetParent(), + + // Get correct offsets + offset = this.offset(), + parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); + + // Subtract element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0; + offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0; + + // Add offsetParent borders + parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0; + parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0; + + // Subtract the two offsets + return { + top: offset.top - parentOffset.top, + left: offset.left - parentOffset.left + }; + }; +jQuery.prototype.prepend = function() { +/// +/// Insert content, specified by the parameter, to the beginning of each element in the set of matched elements. +/// 1 - prepend(content, content) +/// 2 - prepend(function(index, html)) +/// +/// +/// DOM element, array of elements, HTML string, or jQuery object to insert at the beginning of each element in the set of matched elements. +/// +/// +/// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the beginning of each element in the set of matched elements. +/// +/// + + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }; +jQuery.prototype.prependTo = function( selector ) { +/// +/// Insert every element in the set of matched elements to the beginning of the target. +/// +/// +/// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted at the beginning of the element(s) specified by this parameter. +/// +/// + + var ret = [], + insert = jQuery( selector ), + parent = this.length === 1 && this[0].parentNode; + + if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { + insert[ original ]( this[0] ); + return this; + + } else { + for ( var i = 0, l = insert.length; i < l; i++ ) { + var elems = (i > 0 ? this.clone(true) : this).get(); + jQuery( insert[i] )[ original ]( elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +jQuery.prototype.prev = function( until, selector ) { +/// +/// Get the immediately preceding sibling of each element in the set of matched elements, optionally filtered by a selector. +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.prevAll = function( until, selector ) { +/// +/// Get all preceding siblings of each element in the set of matched elements, optionally filtered by a selector. +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.prevUntil = function( until, selector ) { +/// +/// Get all preceding siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object. +/// 1 - prevUntil(selector, filter) +/// 2 - prevUntil(element, filter) +/// +/// +/// A string containing a selector expression to indicate where to stop matching preceding sibling elements. +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.promise = function( type, object ) { +/// +/// Return a Promise object to observe when all actions of a certain type bound to the collection, queued or not, have finished. +/// +/// +/// The type of queue that needs to be observed. +/// +/// +/// Object onto which the promise methods have to be attached +/// +/// + + if ( typeof type !== "string" ) { + object = type; + type = undefined; + } + type = type || "fx"; + var defer = jQuery.Deferred(), + elements = this, + i = elements.length, + count = 1, + deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + tmp; + function resolve() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + } + while( i-- ) { + if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) || + ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) || + jQuery.data( elements[ i ], markDataKey, undefined, true ) ) && + jQuery.data( elements[ i ], deferDataKey, jQuery._Deferred(), true ) )) { + count++; + tmp.done( resolve ); + } + } + resolve(); + return defer.promise(); + }; +jQuery.prototype.prop = function( name, value ) { +/// +/// 1: Get the value of a property for the first element in the set of matched elements. +/// 1.1 - prop(propertyName) +/// 2: Set one or more properties for the set of matched elements. +/// 2.1 - prop(propertyName, value) +/// 2.2 - prop(map) +/// 2.3 - prop(propertyName, function(index, oldPropertyValue)) +/// +/// +/// The name of the property to set. +/// +/// +/// A value to set for the property. +/// +/// + + return jQuery.access( this, name, value, true, jQuery.prop ); + }; +jQuery.prototype.pushStack = function( elems, name, selector ) { +/// +/// Add a collection of DOM elements onto the jQuery stack. +/// 1 - pushStack(elements) +/// 2 - pushStack(elements, name, arguments) +/// +/// +/// An array of elements to push onto the stack and make into a new jQuery object. +/// +/// +/// The name of a jQuery method that generated the array of elements. +/// +/// +/// The arguments that were passed in to the jQuery method (for serialization). +/// +/// + + // Build a new jQuery matched element set + var ret = this.constructor(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }; +jQuery.prototype.queue = function( type, data ) { +/// +/// 1: Show the queue of functions to be executed on the matched elements. +/// 1.1 - queue(queueName) +/// 2: Manipulate the queue of functions to be executed on the matched elements. +/// 2.1 - queue(queueName, newQueue) +/// 2.2 - queue(queueName, callback( next )) +/// +/// +/// A string containing the name of the queue. Defaults to fx, the standard effects queue. +/// +/// +/// An array of functions to replace the current queue contents. +/// +/// + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function() { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }; +jQuery.prototype.ready = function( fn ) { +/// +/// Specify a function to execute when the DOM is fully loaded. +/// +/// +/// A function to execute after the DOM is ready. +/// +/// + + // Attach the listeners + jQuery.bindReady(); + + // Add the callback + readyList.done( fn ); + + return this; + }; +jQuery.prototype.remove = function( selector, keepData ) { +/// +/// Remove the set of matched elements from the DOM. +/// +/// +/// A selector expression that filters the set of matched elements to be removed. +/// +/// + + for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + jQuery.cleanData( [ elem ] ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }; +jQuery.prototype.removeAttr = function( name ) { +/// +/// Remove an attribute from each element in the set of matched elements. +/// +/// +/// An attribute to remove. +/// +/// + + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }; +jQuery.prototype.removeClass = function( value ) { +/// +/// Remove a single class, multiple classes, or all classes from each element in the set of matched elements. +/// 1 - removeClass(className) +/// 2 - removeClass(function(index, class)) +/// +/// +/// One or more space-separated classes to be removed from the class attribute of each matched element. +/// +/// + + var classNames, i, l, elem, className, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call(this, j, this.className) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + classNames = (value || "").split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + className = (" " + elem.className + " ").replace( rclass, " " ); + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[ c ] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }; +jQuery.prototype.removeData = function( key ) { +/// +/// Remove a previously-stored piece of data. +/// +/// +/// A string naming the piece of data to delete. +/// +/// + + return this.each(function() { + jQuery.removeData( this, key ); + }); + }; +jQuery.prototype.removeProp = function( name ) { +/// +/// Remove a property for the set of matched elements. +/// +/// +/// The name of the property to set. +/// +/// + + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }; +jQuery.prototype.replaceAll = function( selector ) { +/// +/// Replace each target element with the set of matched elements. +/// +/// +/// A selector expression indicating which element(s) to replace. +/// +/// + + var ret = [], + insert = jQuery( selector ), + parent = this.length === 1 && this[0].parentNode; + + if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { + insert[ original ]( this[0] ); + return this; + + } else { + for ( var i = 0, l = insert.length; i < l; i++ ) { + var elems = (i > 0 ? this.clone(true) : this).get(); + jQuery( insert[i] )[ original ]( elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +jQuery.prototype.replaceWith = function( value ) { +/// +/// Replace each element in the set of matched elements with the provided new content. +/// 1 - replaceWith(newContent) +/// 2 - replaceWith(function) +/// +/// +/// The content to insert. May be an HTML string, DOM element, or jQuery object. +/// +/// + + if ( this[0] && this[0].parentNode ) { + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this), old = self.html(); + self.replaceWith( value.call( this, i, old ) ); + }); + } + + if ( typeof value !== "string" ) { + value = jQuery( value ).detach(); + } + + return this.each(function() { + var next = this.nextSibling, + parent = this.parentNode; + + jQuery( this ).remove(); + + if ( next ) { + jQuery(next).before( value ); + } else { + jQuery(parent).append( value ); + } + }); + } else { + return this.length ? + this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) : + this; + } + }; +jQuery.prototype.resize = function( data, fn ) { +/// +/// Bind an event handler to the "resize" JavaScript event, or trigger that event on an element. +/// 1 - resize(handler(eventObject)) +/// 2 - resize(eventData, handler(eventObject)) +/// 3 - resize() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.scroll = function( data, fn ) { +/// +/// Bind an event handler to the "scroll" JavaScript event, or trigger that event on an element. +/// 1 - scroll(handler(eventObject)) +/// 2 - scroll(eventData, handler(eventObject)) +/// 3 - scroll() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.scrollLeft = function( val ) { +/// +/// 1: Get the current horizontal position of the scroll bar for the first element in the set of matched elements. +/// 1.1 - scrollLeft() +/// 2: Set the current horizontal position of the scroll bar for each of the set of matched elements. +/// 2.1 - scrollLeft(value) +/// +/// +/// An integer indicating the new position to set the scroll bar to. +/// +/// + + var elem, win; + + if ( val === undefined ) { + elem = this[ 0 ]; + + if ( !elem ) { + return null; + } + + win = getWindow( elem ); + + // Return the scroll offset + return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] : + jQuery.support.boxModel && win.document.documentElement[ method ] || + win.document.body[ method ] : + elem[ method ]; + } + + // Set the scroll offset + return this.each(function() { + win = getWindow( this ); + + if ( win ) { + win.scrollTo( + !i ? val : jQuery( win ).scrollLeft(), + i ? val : jQuery( win ).scrollTop() + ); + + } else { + this[ method ] = val; + } + }); + }; +jQuery.prototype.scrollTop = function( val ) { +/// +/// 1: Get the current vertical position of the scroll bar for the first element in the set of matched elements. +/// 1.1 - scrollTop() +/// 2: Set the current vertical position of the scroll bar for each of the set of matched elements. +/// 2.1 - scrollTop(value) +/// +/// +/// An integer indicating the new position to set the scroll bar to. +/// +/// + + var elem, win; + + if ( val === undefined ) { + elem = this[ 0 ]; + + if ( !elem ) { + return null; + } + + win = getWindow( elem ); + + // Return the scroll offset + return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] : + jQuery.support.boxModel && win.document.documentElement[ method ] || + win.document.body[ method ] : + elem[ method ]; + } + + // Set the scroll offset + return this.each(function() { + win = getWindow( this ); + + if ( win ) { + win.scrollTo( + !i ? val : jQuery( win ).scrollLeft(), + i ? val : jQuery( win ).scrollTop() + ); + + } else { + this[ method ] = val; + } + }); + }; +jQuery.prototype.select = function( data, fn ) { +/// +/// Bind an event handler to the "select" JavaScript event, or trigger that event on an element. +/// 1 - select(handler(eventObject)) +/// 2 - select(eventData, handler(eventObject)) +/// 3 - select() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.serialize = function() { +/// +/// Encode a set of form elements as a string for submission. +/// +/// + + return jQuery.param( this.serializeArray() ); + }; +jQuery.prototype.serializeArray = function() { +/// +/// Encode a set of form elements as an array of names and values. +/// +/// + + return this.map(function(){ + return this.elements ? jQuery.makeArray( this.elements ) : this; + }) + .filter(function(){ + return this.name && !this.disabled && + ( this.checked || rselectTextarea.test( this.nodeName ) || + rinput.test( this.type ) ); + }) + .map(function( i, elem ){ + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val, i ){ + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }).get(); + }; +jQuery.prototype.show = function( speed, easing, callback ) { +/// +/// Display the matched elements. +/// 1 - show() +/// 2 - show(duration, callback) +/// 3 - show(duration, easing, callback) +/// +/// +/// A string or number determining how long the animation will run. +/// +/// +/// A string indicating which easing function to use for the transition. +/// +/// +/// A function to call once the animation is complete. +/// +/// + + var elem, display; + + if ( speed || speed === 0 ) { + return this.animate( genFx("show", 3), speed, easing, callback); + + } else { + for ( var i = 0, j = this.length; i < j; i++ ) { + elem = this[i]; + + if ( elem.style ) { + display = elem.style.display; + + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !jQuery._data(elem, "olddisplay") && display === "none" ) { + display = elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( display === "" && jQuery.css( elem, "display" ) === "none" ) { + jQuery._data(elem, "olddisplay", defaultDisplay(elem.nodeName)); + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( i = 0; i < j; i++ ) { + elem = this[i]; + + if ( elem.style ) { + display = elem.style.display; + + if ( display === "" || display === "none" ) { + elem.style.display = jQuery._data(elem, "olddisplay") || ""; + } + } + } + + return this; + } + }; +jQuery.prototype.siblings = function( until, selector ) { +/// +/// Get the siblings of each element in the set of matched elements, optionally filtered by a selector. +/// +/// +/// A string containing a selector expression to match elements against. +/// +/// + + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +jQuery.prototype.size = function() { +/// +/// Return the number of elements in the jQuery object. +/// +/// + + return this.length; + }; +jQuery.prototype.slice = function() { +/// +/// Reduce the set of matched elements to a subset specified by a range of indices. +/// +/// +/// An integer indicating the 0-based position at which the elements begin to be selected. If negative, it indicates an offset from the end of the set. +/// +/// +/// An integer indicating the 0-based position at which the elements stop being selected. If negative, it indicates an offset from the end of the set. If omitted, the range continues until the end of the set. +/// +/// + + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }; +jQuery.prototype.slideDown = function( speed, easing, callback ) { +/// +/// Display the matched elements with a sliding motion. +/// 1 - slideDown(duration, callback) +/// 2 - slideDown(duration, easing, callback) +/// +/// +/// A string or number determining how long the animation will run. +/// +/// +/// A string indicating which easing function to use for the transition. +/// +/// +/// A function to call once the animation is complete. +/// +/// + + return this.animate( props, speed, easing, callback ); + }; +jQuery.prototype.slideToggle = function( speed, easing, callback ) { +/// +/// Display or hide the matched elements with a sliding motion. +/// 1 - slideToggle(duration, callback) +/// 2 - slideToggle(duration, easing, callback) +/// +/// +/// A string or number determining how long the animation will run. +/// +/// +/// A string indicating which easing function to use for the transition. +/// +/// +/// A function to call once the animation is complete. +/// +/// + + return this.animate( props, speed, easing, callback ); + }; +jQuery.prototype.slideUp = function( speed, easing, callback ) { +/// +/// Hide the matched elements with a sliding motion. +/// 1 - slideUp(duration, callback) +/// 2 - slideUp(duration, easing, callback) +/// +/// +/// A string or number determining how long the animation will run. +/// +/// +/// A string indicating which easing function to use for the transition. +/// +/// +/// A function to call once the animation is complete. +/// +/// + + return this.animate( props, speed, easing, callback ); + }; +jQuery.prototype.stop = function( clearQueue, gotoEnd ) { +/// +/// Stop the currently-running animation on the matched elements. +/// +/// +/// A Boolean indicating whether to remove queued animation as well. Defaults to false. +/// +/// +/// A Boolean indicating whether to complete the current animation immediately. Defaults to false. +/// +/// + + if ( clearQueue ) { + this.queue([]); + } + + this.each(function() { + var timers = jQuery.timers, + i = timers.length; + // clear marker counters if we know they won't be + if ( !gotoEnd ) { + jQuery._unmark( true, this ); + } + while ( i-- ) { + if ( timers[i].elem === this ) { + if (gotoEnd) { + // force the next step to be the last + timers[i](true); + } + + timers.splice(i, 1); + } + } + }); + + // start the next in the queue if the last step wasn't forced + if ( !gotoEnd ) { + this.dequeue(); + } + + return this; + }; +jQuery.prototype.submit = function( data, fn ) { +/// +/// Bind an event handler to the "submit" JavaScript event, or trigger that event on an element. +/// 1 - submit(handler(eventObject)) +/// 2 - submit(eventData, handler(eventObject)) +/// 3 - submit() +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.text = function( text ) { +/// +/// 1: Get the combined text contents of each element in the set of matched elements, including their descendants. +/// 1.1 - text() +/// 2: Set the content of each element in the set of matched elements to the specified text. +/// 2.1 - text(textString) +/// 2.2 - text(function(index, text)) +/// +/// +/// A string of text to set as the content of each matched element. +/// +/// + + if ( jQuery.isFunction(text) ) { + return this.each(function(i) { + var self = jQuery( this ); + + self.text( text.call(this, i, self.text()) ); + }); + } + + if ( typeof text !== "object" && text !== undefined ) { + return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); + } + + return jQuery.text( this ); + }; +jQuery.prototype.toArray = function() { +/// +/// Retrieve all the DOM elements contained in the jQuery set, as an array. +/// +/// + + return slice.call( this, 0 ); + }; +jQuery.prototype.toggle = function( fn, fn2, callback ) { +/// +/// 1: Bind two or more handlers to the matched elements, to be executed on alternate clicks. +/// 1.1 - toggle(handler(eventObject), handler(eventObject), handler(eventObject)) +/// 2: Display or hide the matched elements. +/// 2.1 - toggle(duration, callback) +/// 2.2 - toggle(duration, easing, callback) +/// 2.3 - toggle(showOrHide) +/// +/// +/// A function to execute every even time the element is clicked. +/// +/// +/// A function to execute every odd time the element is clicked. +/// +/// +/// Additional handlers to cycle through after clicks. +/// +/// + + var bool = typeof fn === "boolean"; + + if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) { + this._toggle.apply( this, arguments ); + + } else if ( fn == null || bool ) { + this.each(function() { + var state = bool ? fn : jQuery(this).is(":hidden"); + jQuery(this)[ state ? "show" : "hide" ](); + }); + + } else { + this.animate(genFx("toggle", 3), fn, fn2, callback); + } + + return this; + }; +jQuery.prototype.toggleClass = function( value, stateVal ) { +/// +/// Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. +/// 1 - toggleClass(className) +/// 2 - toggleClass(className, switch) +/// 3 - toggleClass(switch) +/// 4 - toggleClass(function(index, class, switch), switch) +/// +/// +/// One or more class names (separated by spaces) to be toggled for each element in the matched set. +/// +/// +/// A Boolean (not just truthy/falsy) value to determine whether the class should be added or removed. +/// +/// + + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }; +jQuery.prototype.trigger = function( type, data ) { +/// +/// Execute all handlers and behaviors attached to the matched elements for the given event type. +/// 1 - trigger(eventType, extraParameters) +/// 2 - trigger(event) +/// +/// +/// A string containing a JavaScript event type, such as click or submit. +/// +/// +/// Additional parameters to pass along to the event handler. +/// +/// + + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }; +jQuery.prototype.triggerHandler = function( type, data ) { +/// +/// Execute all handlers attached to an element for an event. +/// +/// +/// A string containing a JavaScript event type, such as click or submit. +/// +/// +/// An array of additional parameters to pass along to the event handler. +/// +/// + + if ( this[0] ) { + return jQuery.event.trigger( type, data, this[0], true ); + } + }; +jQuery.prototype.unbind = function( type, fn ) { +/// +/// Remove a previously-attached event handler from the elements. +/// 1 - unbind(eventType, handler(eventObject)) +/// 2 - unbind(eventType, false) +/// 3 - unbind(event) +/// +/// +/// A string containing a JavaScript event type, such as click or submit. +/// +/// +/// The function that is to be no longer executed. +/// +/// + + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }; +jQuery.prototype.undelegate = function( selector, types, fn ) { +/// +/// Remove a handler from the event for all elements which match the current selector, now or in the future, based upon a specific set of root elements. +/// 1 - undelegate() +/// 2 - undelegate(selector, eventType) +/// 3 - undelegate(selector, eventType, handler) +/// 4 - undelegate(selector, events) +/// 5 - undelegate(namespace) +/// +/// +/// A selector which will be used to filter the event results. +/// +/// +/// A string containing a JavaScript event type, such as "click" or "keydown" +/// +/// +/// A function to execute at the time the event is triggered. +/// +/// + + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }; +jQuery.prototype.unload = function( data, fn ) { +/// +/// Bind an event handler to the "unload" JavaScript event. +/// 1 - unload(handler(eventObject)) +/// 2 - unload(eventData, handler(eventObject)) +/// +/// +/// A map of data that will be passed to the event handler. +/// +/// +/// A function to execute each time the event is triggered. +/// +/// + + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; +jQuery.prototype.unwrap = function() { +/// +/// Remove the parents of the set of matched elements from the DOM, leaving the matched elements in their place. +/// +/// + + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }; +jQuery.prototype.val = function( value ) { +/// +/// 1: Get the current value of the first element in the set of matched elements. +/// 1.1 - val() +/// 2: Set the value of each element in the set of matched elements. +/// 2.1 - val(value) +/// 2.2 - val(function(index, value)) +/// +/// +/// A string of text or an array of strings corresponding to the value of each matched element to set as selected/checked. +/// +/// + + var hooks, ret, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return undefined; + } + + var isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var self = jQuery(this), val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + }; +jQuery.prototype.width = function( size ) { +/// +/// 1: Get the current computed width for the first element in the set of matched elements. +/// 1.1 - width() +/// 2: Set the CSS width of each element in the set of matched elements. +/// 2.1 - width(value) +/// 2.2 - width(function(index, width)) +/// +/// +/// An integer representing the number of pixels, or an integer along with an optional unit of measure appended (as a string). +/// +/// + + // Get window width or height + var elem = this[0]; + if ( !elem ) { + return size == null ? null : this; + } + + if ( jQuery.isFunction( size ) ) { + return this.each(function( i ) { + var self = jQuery( this ); + self[ type ]( size.call( this, i, self[ type ]() ) ); + }); + } + + if ( jQuery.isWindow( elem ) ) { + // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode + // 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat + var docElemProp = elem.document.documentElement[ "client" + name ], + body = elem.document.body; + return elem.document.compatMode === "CSS1Compat" && docElemProp || + body && body[ "client" + name ] || docElemProp; + + // Get document width or height + } else if ( elem.nodeType === 9 ) { + // Either scroll[Width/Height] or offset[Width/Height], whichever is greater + return Math.max( + elem.documentElement["client" + name], + elem.body["scroll" + name], elem.documentElement["scroll" + name], + elem.body["offset" + name], elem.documentElement["offset" + name] + ); + + // Get or set width or height on the element + } else if ( size === undefined ) { + var orig = jQuery.css( elem, type ), + ret = parseFloat( orig ); + + return jQuery.isNaN( ret ) ? orig : ret; + + // Set the width or height on the element (default to pixels if value is unitless) + } else { + return this.css( type, typeof size === "string" ? size : size + "px" ); + } + }; +jQuery.prototype.wrap = function( html ) { +/// +/// Wrap an HTML structure around each element in the set of matched elements. +/// 1 - wrap(wrappingElement) +/// 2 - wrap(function(index)) +/// +/// +/// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the matched elements. +/// +/// + + return this.each(function() { + jQuery( this ).wrapAll( html ); + }); + }; +jQuery.prototype.wrapAll = function( html ) { +/// +/// Wrap an HTML structure around all elements in the set of matched elements. +/// +/// +/// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the matched elements. +/// +/// + + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }; +jQuery.prototype.wrapInner = function( html ) { +/// +/// Wrap an HTML structure around the content of each element in the set of matched elements. +/// 1 - wrapInner(wrappingElement) +/// 2 - wrapInner(function(index)) +/// +/// +/// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the content of the matched elements. +/// +/// + + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }; +jQuery.fn = jQuery.prototype; +jQuery.fn.init.prototype = jQuery.fn; +window.jQuery = window.$ = jQuery; +})(window); \ No newline at end of file diff --git a/packages/jQuery.1.6.4/Content/Scripts/jquery-1.6.4.js b/packages/jQuery.1.6.4/Content/Scripts/jquery-1.6.4.js new file mode 100644 index 000000000..11e6d0679 --- /dev/null +++ b/packages/jQuery.1.6.4/Content/Scripts/jquery-1.6.4.js @@ -0,0 +1,9046 @@ +/*! + * jQuery JavaScript Library v1.6.4 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Sep 12 18:54:48 2011 -0400 + */ +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document, + navigator = window.navigator, + location = window.location; +var jQuery = (function() { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Check for digits + rdigit = /\d/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Matches dashed string for camelizing + rdashAlpha = /-([a-z]|[0-9])/ig, + rmsPrefix = /^-ms-/, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return ( letter + "" ).toUpperCase(); + }, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // The deferred used on DOM ready + readyList, + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = selector; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = quickExpr.exec( selector ); + } + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.6.4", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + // Build a new jQuery matched element set + var ret = this.constructor(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Attach the listeners + jQuery.bindReady(); + + // Add the callback + readyList.done( fn ); + + return this; + }, + + eq: function( i ) { + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + // Either a released hold or an DOMready/load event and not yet ready + if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyList ) { + return; + } + + readyList = jQuery._Deferred(); + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", DOMContentLoaded ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + // A crude way of determining if an object is a window + isWindow: function( obj ) { + return obj && typeof obj === "object" && "setInterval" in obj; + }, + + isNaN: function( obj ) { + return obj == null || !rdigit.test( obj ) || isNaN( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return (new Function( "return " + data ))(); + + } + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && rnotwhite.test( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction( object ); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) { + break; + } + } + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type( array ); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array ) { + if ( !array ) { + return -1; + } + + if ( indexOf ) { + return indexOf.call( array, elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, key, ret = [], + i = 0, + length = elems.length, + // jquery objects are treated as arrays + isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( key in elems ) { + value = callback( elems[ key ], key, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + if ( typeof context === "string" ) { + var tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + var args = slice.call( arguments, 2 ), + proxy = function() { + return fn.apply( context, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can optionally be executed if it's a function + access: function( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + jQuery.access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; + }, + + now: function() { + return (new Date()).getTime(); + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + sub: function() { + function jQuerySub( selector, context ) { + return new jQuerySub.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySub, this ); + jQuerySub.superclass = this; + jQuerySub.fn = jQuerySub.prototype = this(); + jQuerySub.fn.constructor = jQuerySub; + jQuerySub.sub = this.sub; + jQuerySub.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { + context = jQuerySub( context ); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); + }; + jQuerySub.fn.init.prototype = jQuerySub.fn; + var rootjQuerySub = jQuerySub(document); + return jQuerySub; + }, + + browser: {} +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +// IE doesn't match non-breaking spaces with \s +if ( rnotwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +return jQuery; + +})(); + + +var // Promise methods + promiseMethods = "done fail isResolved isRejected promise then always pipe".split( " " ), + // Static reference to slice + sliceDeferred = [].slice; + +jQuery.extend({ + // Create a simple deferred (one callbacks list) + _Deferred: function() { + var // callbacks list + callbacks = [], + // stored [ context , args ] + fired, + // to avoid firing when already doing so + firing, + // flag to know if the deferred has been cancelled + cancelled, + // the deferred itself + deferred = { + + // done( f1, f2, ...) + done: function() { + if ( !cancelled ) { + var args = arguments, + i, + length, + elem, + type, + _fired; + if ( fired ) { + _fired = fired; + fired = 0; + } + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + deferred.done.apply( deferred, elem ); + } else if ( type === "function" ) { + callbacks.push( elem ); + } + } + if ( _fired ) { + deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); + } + } + return this; + }, + + // resolve with given context and args + resolveWith: function( context, args ) { + if ( !cancelled && !fired && !firing ) { + // make sure args are available (#8421) + args = args || []; + firing = 1; + try { + while( callbacks[ 0 ] ) { + callbacks.shift().apply( context, args ); + } + } + finally { + fired = [ context, args ]; + firing = 0; + } + } + return this; + }, + + // resolve with this as context and given arguments + resolve: function() { + deferred.resolveWith( this, arguments ); + return this; + }, + + // Has this deferred been resolved? + isResolved: function() { + return !!( firing || fired ); + }, + + // Cancel + cancel: function() { + cancelled = 1; + callbacks = []; + return this; + } + }; + + return deferred; + }, + + // Full fledged deferred (two callbacks list) + Deferred: function( func ) { + var deferred = jQuery._Deferred(), + failDeferred = jQuery._Deferred(), + promise; + // Add errorDeferred methods, then and promise + jQuery.extend( deferred, { + then: function( doneCallbacks, failCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ); + return this; + }, + always: function() { + return deferred.done.apply( deferred, arguments ).fail.apply( this, arguments ); + }, + fail: failDeferred.done, + rejectWith: failDeferred.resolveWith, + reject: failDeferred.resolve, + isRejected: failDeferred.isResolved, + pipe: function( fnDone, fnFail ) { + return jQuery.Deferred(function( newDefer ) { + jQuery.each( { + done: [ fnDone, "resolve" ], + fail: [ fnFail, "reject" ] + }, function( handler, data ) { + var fn = data[ 0 ], + action = data[ 1 ], + returned; + if ( jQuery.isFunction( fn ) ) { + deferred[ handler ](function() { + returned = fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise().then( newDefer.resolve, newDefer.reject ); + } else { + newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] ); + } + }); + } else { + deferred[ handler ]( newDefer[ action ] ); + } + }); + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + if ( obj == null ) { + if ( promise ) { + return promise; + } + promise = obj = {}; + } + var i = promiseMethods.length; + while( i-- ) { + obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; + } + return obj; + } + }); + // Make sure only one callback list will be used + deferred.done( failDeferred.cancel ).fail( deferred.cancel ); + // Unexpose cancel + delete deferred.cancel; + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + return deferred; + }, + + // Deferred helper + when: function( firstParam ) { + var args = arguments, + i = 0, + length = args.length, + count = length, + deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? + firstParam : + jQuery.Deferred(); + function resolveFunc( i ) { + return function( value ) { + args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; + if ( !( --count ) ) { + // Strange bug in FF4: + // Values changed onto the arguments object sometimes end up as undefined values + // outside the $.when method. Cloning the object into a fresh array solves the issue + deferred.resolveWith( deferred, sliceDeferred.call( args, 0 ) ); + } + }; + } + if ( length > 1 ) { + for( ; i < length; i++ ) { + if ( args[ i ] && jQuery.isFunction( args[ i ].promise ) ) { + args[ i ].promise().then( resolveFunc(i), deferred.reject ); + } else { + --count; + } + } + if ( !count ) { + deferred.resolveWith( deferred, args ); + } + } else if ( deferred !== firstParam ) { + deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); + } + return deferred.promise(); + } +}); + + + +jQuery.support = (function() { + + var div = document.createElement( "div" ), + documentElement = document.documentElement, + all, + a, + select, + opt, + input, + marginDiv, + support, + fragment, + body, + testElementParent, + testElement, + testElementStyle, + tds, + events, + eventName, + i, + isSupported; + + // Preliminary tests + div.setAttribute("className", "t"); + div.innerHTML = "
    a"; + + + all = div.getElementsByTagName( "*" ); + a = div.getElementsByTagName( "a" )[ 0 ]; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return {}; + } + + // First batch of supports tests + select = document.createElement( "select" ); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName( "input" )[ 0 ]; + + support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: ( div.firstChild.nodeType === 3 ), + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName( "tbody" ).length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName( "link" ).length, + + // Get the style information from getAttribute + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: ( a.getAttribute( "href" ) === "/a" ), + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.55$/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: ( input.value === "on" ), + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // Will be defined later + submitBubbles: true, + changeBubbles: true, + focusinBubbles: false, + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true + }; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent( "onclick", function() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + support.noCloneEvent = false; + }); + div.cloneNode( true ).fireEvent( "onclick" ); + } + + // Check if a radio maintains it's value + // after being appended to the DOM + input = document.createElement("input"); + input.value = "t"; + input.setAttribute("type", "radio"); + support.radioValue = input.value === "t"; + + input.setAttribute("checked", "checked"); + div.appendChild( input ); + fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + div.innerHTML = ""; + + // Figure out if the W3C box model works as expected + div.style.width = div.style.paddingLeft = "1px"; + + body = document.getElementsByTagName( "body" )[ 0 ]; + // We use our own, invisible, body unless the body is already present + // in which case we use a div (#9239) + testElement = document.createElement( body ? "div" : "body" ); + testElementStyle = { + visibility: "hidden", + width: 0, + height: 0, + border: 0, + margin: 0, + background: "none" + }; + if ( body ) { + jQuery.extend( testElementStyle, { + position: "absolute", + left: "-1000px", + top: "-1000px" + }); + } + for ( i in testElementStyle ) { + testElement.style[ i ] = testElementStyle[ i ]; + } + testElement.appendChild( div ); + testElementParent = body || documentElement; + testElementParent.insertBefore( testElement, testElementParent.firstChild ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + support.boxModel = div.offsetWidth === 2; + + if ( "zoom" in div.style ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.style.display = "inline"; + div.style.zoom = 1; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 ); + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = ""; + div.innerHTML = "
    "; + support.shrinkWrapBlocks = ( div.offsetWidth !== 2 ); + } + + div.innerHTML = "
    t
    "; + tds = div.getElementsByTagName( "td" ); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE < 8 fail this test) + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + div.innerHTML = ""; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. For more + // info see bug #3333 + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + if ( document.defaultView && document.defaultView.getComputedStyle ) { + marginDiv = document.createElement( "div" ); + marginDiv.style.width = "0"; + marginDiv.style.marginRight = "0"; + div.appendChild( marginDiv ); + support.reliableMarginRight = + ( parseInt( ( document.defaultView.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0; + } + + // Remove the body element we added + testElement.innerHTML = ""; + testElementParent.removeChild( testElement ); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( div.attachEvent ) { + for( i in { + submit: 1, + change: 1, + focusin: 1 + } ) { + eventName = "on" + i; + isSupported = ( eventName in div ); + if ( !isSupported ) { + div.setAttribute( eventName, "return;" ); + isSupported = ( typeof div[ eventName ] === "function" ); + } + support[ i + "Bubbles" ] = isSupported; + } + } + + // Null connected elements to avoid leaks in IE + testElement = fragment = select = opt = body = marginDiv = div = input = null; + + return support; +})(); + +// Keep track of boxModel +jQuery.boxModel = jQuery.support.boxModel; + + + + +var rbrace = /^(?:\{.*\}|\[.*\])$/, + rmultiDash = /([A-Z])/g; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || (pvt && id && (cache[ id ] && !cache[ id ][ internalKey ]))) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ jQuery.expando ] = id = ++jQuery.uuid; + } else { + id = jQuery.expando; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); + } else { + cache[ id ] = jQuery.extend(cache[ id ], name); + } + } + + thisCache = cache[ id ]; + + // Internal jQuery data is stored in a separate object inside the object's data + // cache in order to avoid key collisions between internal data and user-defined + // data + if ( pvt ) { + if ( !thisCache[ internalKey ] ) { + thisCache[ internalKey ] = {}; + } + + thisCache = thisCache[ internalKey ]; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should + // not attempt to inspect the internal events object using jQuery.data, as this + // internal data object is undocumented and subject to change. + if ( name === "events" && !thisCache[name] ) { + return thisCache[ internalKey ] && thisCache[ internalKey ].events; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, + + // Reference to internal data cache key + internalKey = jQuery.expando, + + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + + // See jQuery.data for more information + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; + + if ( thisCache ) { + + // Support interoperable removal of hyphenated or camelcased keys + if ( !thisCache[ name ] ) { + name = jQuery.camelCase( name ); + } + + delete thisCache[ name ]; + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !isEmptyDataObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( pvt ) { + delete cache[ id ][ internalKey ]; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject(cache[ id ]) ) { + return; + } + } + + var internalCache = cache[ id ][ internalKey ]; + + // Browsers that fail expando deletion also refuse to delete expandos on + // the window, but it will allow it on all other JS objects; other browsers + // don't care + // Ensure that `cache` is not a window object #10080 + if ( jQuery.support.deleteExpando || !cache.setInterval ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the entire user cache at once because it's faster than + // iterating through each key, but we need to continue to persist internal + // data if it existed + if ( internalCache ) { + cache[ id ] = {}; + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + + cache[ id ][ internalKey ] = internalCache; + + // Otherwise, we need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + } else if ( isNode ) { + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } else { + elem[ jQuery.expando ] = null; + } + } + }, + + // For internal use only. + _data: function( elem, name, data ) { + return jQuery.data( elem, name, data, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + data = jQuery.data( this[0] ); + + if ( this[0].nodeType === 1 ) { + var attr = this[0].attributes, name; + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.substring(5) ); + + dataAttr( this[0], name, data[ name ] ); + } + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + // Try to fetch any internally stored data first + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + data = dataAttr( this[0], key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + + } else { + return this.each(function() { + var $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.triggerHandler( "changeData" + parts[1] + "!", args ); + }); + } + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + !jQuery.isNaN( data ) ? parseFloat( data ) : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON +// property to be considered empty objects; this property always exists in +// order to make sure JSON.stringify does not expose internal metadata +function isEmptyDataObject( obj ) { + for ( var name in obj ) { + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + + + + +function handleQueueMarkDefer( elem, type, src ) { + var deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + defer = jQuery.data( elem, deferDataKey, undefined, true ); + if ( defer && + ( src === "queue" || !jQuery.data( elem, queueDataKey, undefined, true ) ) && + ( src === "mark" || !jQuery.data( elem, markDataKey, undefined, true ) ) ) { + // Give room for hard-coded callbacks to fire first + // and eventually mark/queue something else on the element + setTimeout( function() { + if ( !jQuery.data( elem, queueDataKey, undefined, true ) && + !jQuery.data( elem, markDataKey, undefined, true ) ) { + jQuery.removeData( elem, deferDataKey, true ); + defer.resolve(); + } + }, 0 ); + } +} + +jQuery.extend({ + + _mark: function( elem, type ) { + if ( elem ) { + type = (type || "fx") + "mark"; + jQuery.data( elem, type, (jQuery.data(elem,type,undefined,true) || 0) + 1, true ); + } + }, + + _unmark: function( force, elem, type ) { + if ( force !== true ) { + type = elem; + elem = force; + force = false; + } + if ( elem ) { + type = type || "fx"; + var key = type + "mark", + count = force ? 0 : ( (jQuery.data( elem, key, undefined, true) || 1 ) - 1 ); + if ( count ) { + jQuery.data( elem, key, count, true ); + } else { + jQuery.removeData( elem, key, true ); + handleQueueMarkDefer( elem, type, "mark" ); + } + } + }, + + queue: function( elem, type, data ) { + if ( elem ) { + type = (type || "fx") + "queue"; + var q = jQuery.data( elem, type, undefined, true ); + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !q || jQuery.isArray(data) ) { + q = jQuery.data( elem, type, jQuery.makeArray(data), true ); + } else { + q.push( data ); + } + } + return q || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(), + defer; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue", true ); + handleQueueMarkDefer( elem, type, "queue" ); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function() { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue( type, function() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, object ) { + if ( typeof type !== "string" ) { + object = type; + type = undefined; + } + type = type || "fx"; + var defer = jQuery.Deferred(), + elements = this, + i = elements.length, + count = 1, + deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + tmp; + function resolve() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + } + while( i-- ) { + if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) || + ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) || + jQuery.data( elements[ i ], markDataKey, undefined, true ) ) && + jQuery.data( elements[ i ], deferDataKey, jQuery._Deferred(), true ) )) { + count++; + tmp.done( resolve ); + } + } + resolve(); + return defer.promise(); + } +}); + + + + +var rclass = /[\n\t\r]/g, + rspace = /\s+/, + rreturn = /\r/g, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + nodeHook, boolHook; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.prop ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classNames, i, l, elem, + setClass, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call(this, j, this.className) ); + }); + } + + if ( value && typeof value === "string" ) { + classNames = value.split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className && classNames.length === 1 ) { + elem.className = value; + + } else { + setClass = " " + elem.className + " "; + + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) { + setClass += classNames[ c ] + " "; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classNames, i, l, elem, className, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call(this, j, this.className) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + classNames = (value || "").split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + className = (" " + elem.className + " ").replace( rclass, " " ); + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[ c ] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var hooks, ret, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return undefined; + } + + var isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var self = jQuery(this), val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var value, + index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attrFix: { + // Always normalize to ensure hook usage + tabindex: "tabIndex" + }, + + attr: function( elem, name, value, pass ) { + var nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery( elem )[ name ]( value ); + } + + // Fallback to prop when attributes are not supported + if ( !("getAttribute" in elem) ) { + return jQuery.prop( elem, name, value ); + } + + var ret, hooks, + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // Normalize the name if needed + if ( notxml ) { + name = jQuery.attrFix[ name ] || name; + + hooks = jQuery.attrHooks[ name ]; + + if ( !hooks ) { + // Use boolHook for boolean attributes + if ( rboolean.test( name ) ) { + hooks = boolHook; + + // Use nodeHook if available( IE6/7 ) + } else if ( nodeHook ) { + hooks = nodeHook; + } + } + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return undefined; + + } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, "" + value ); + return value; + } + + } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + ret = elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, name ) { + var propName; + if ( elem.nodeType === 1 ) { + name = jQuery.attrFix[ name ] || name; + + jQuery.attr( elem, name, "" ); + elem.removeAttribute( name ); + + // Set corresponding property to false for boolean attributes + if ( rboolean.test( name ) && (propName = jQuery.propFix[ name ] || name) in elem ) { + elem[ propName ] = false; + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to it's default in case type is set after value + // This is for element creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + }, + // Use the value property for back compat + // Use the nodeHook for button elements in IE6/7 (#1954) + value: { + get: function( elem, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.get( elem, name ); + } + return name in elem ? + elem.value : + null; + }, + set: function( elem, value, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.set( elem, value, name ); + } + // Does not return so that setAttribute is also used + elem.value = value; + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return undefined; + } + + var ret, hooks, + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return (elem[ name ] = value); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Add the tabindex propHook to attrHooks for back-compat +jQuery.attrHooks.tabIndex = jQuery.propHooks.tabIndex; + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + // Align boolean attributes with corresponding properties + // Fall back to attribute presence where some booleans are not supported + var attrNode; + return jQuery.prop( elem, name ) === true || ( attrNode = elem.getAttributeNode( name ) ) && attrNode.nodeValue !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + var propName; + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + // value is true since we know at this point it's type boolean and not false + // Set boolean attributes to the same name and set the DOM property + propName = jQuery.propFix[ name ] || name; + if ( propName in elem ) { + // Only set the IDL specifically if it already exists on the element + elem[ propName ] = true; + } + + elem.setAttribute( name, name.toLowerCase() ); + } + return name; + } +}; + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !jQuery.support.getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret; + ret = elem.getAttributeNode( name ); + // Return undefined if nodeValue is empty string + return ret && ret.nodeValue !== "" ? + ret.nodeValue : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + ret = document.createAttribute( name ); + elem.setAttributeNode( ret ); + } + return (ret.nodeValue = value + ""); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); +} + + +// Some attributes require a special call on IE +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret === null ? undefined : ret; + } + }); + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Normalize to lowercase since IE uppercases css property names + return elem.style.cssText.toLowerCase() || undefined; + }, + set: function( elem, value ) { + return (elem.style.cssText = "" + value); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return (elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0); + } + } + }); +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspaces = / /g, + rescape = /[^\w\s.|`]/g, + fcleanup = function( nm ) { + return nm.replace(rescape, "\\$&"); + }; + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } else if ( !handler ) { + // Fixes bug #7229. Fix recommended by jdalton + return; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery._data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + var events = elemData.events, + eventHandle = elemData.handle; + + if ( !events ) { + elemData.events = events = {}; + } + + if ( !eventHandle ) { + elemData.handle = eventHandle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + if ( !handleObj.guid ) { + handleObj.guid = handler.guid; + } + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // Only use addEventListener/attachEvent if the special + // events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, pos ) { + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } + + var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ), + events = elemData && elemData.events; + + if ( !elemData || !events ) { + return; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem, undefined, true ); + } + } + }, + + // Events that are safe to short-circuit if no handlers are attached. + // Native DOM events should not be added, they may have inline handlers. + customEvent: { + "getData": true, + "setData": true, + "changeData": true + }, + + trigger: function( event, data, elem, onlyHandlers ) { + // Event object or event type + var type = event.type || event, + namespaces = [], + exclusive; + + if ( type.indexOf("!") >= 0 ) { + // Exclusive events trigger only for the exact event (no namespaces) + type = type.slice(0, -1); + exclusive = true; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + + if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { + // No jQuery handlers for this event type, and it can't have inline handlers + return; + } + + // Caller can pass in an Event, Object, or just an event type string + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + new jQuery.Event( type, event ) : + // Just the event type (string) + new jQuery.Event( type ); + + event.type = type; + event.exclusive = exclusive; + event.namespace = namespaces.join("."); + event.namespace_re = new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)"); + + // triggerHandler() and global events don't bubble or run the default action + if ( onlyHandlers || !elem ) { + event.preventDefault(); + event.stopPropagation(); + } + + // Handle a global trigger + if ( !elem ) { + // TODO: Stop taunting the data cache; remove global events and always attach to document + jQuery.each( jQuery.cache, function() { + // internalKey variable is just used to make it easier to find + // and potentially change this stuff later; currently it just + // points to jQuery.expando + var internalKey = jQuery.expando, + internalCache = this[ internalKey ]; + if ( internalCache && internalCache.events && internalCache.events[ type ] ) { + jQuery.event.trigger( event, data, internalCache.handle.elem ); + } + }); + return; + } + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // Clean up the event in case it is being reused + event.result = undefined; + event.target = elem; + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data != null ? jQuery.makeArray( data ) : []; + data.unshift( event ); + + var cur = elem, + // IE doesn't like method names with a colon (#3533, #8272) + ontype = type.indexOf(":") < 0 ? "on" + type : ""; + + // Fire event on the current element, then bubble up the DOM tree + do { + var handle = jQuery._data( cur, "handle" ); + + event.currentTarget = cur; + if ( handle ) { + handle.apply( cur, data ); + } + + // Trigger an inline bound script + if ( ontype && jQuery.acceptData( cur ) && cur[ ontype ] && cur[ ontype ].apply( cur, data ) === false ) { + event.result = false; + event.preventDefault(); + } + + // Bubble up to document, then to window + cur = cur.parentNode || cur.ownerDocument || cur === event.target.ownerDocument && window; + } while ( cur && !event.isPropagationStopped() ); + + // If nobody prevented the default action, do it now + if ( !event.isDefaultPrevented() ) { + var old, + special = jQuery.event.special[ type ] || {}; + + if ( (!special._default || special._default.call( elem.ownerDocument, event ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction)() check here because IE6/7 fails that test. + // IE<9 dies on focus to hidden element (#1486), may want to revisit a try/catch. + try { + if ( ontype && elem[ type ] ) { + // Don't re-trigger an onFOO event when we call its FOO() method + old = elem[ ontype ]; + + if ( old ) { + elem[ ontype ] = null; + } + + jQuery.event.triggered = type; + elem[ type ](); + } + } catch ( ieError ) {} + + if ( old ) { + elem[ ontype ] = old; + } + + jQuery.event.triggered = undefined; + } + } + + return event.result; + }, + + handle: function( event ) { + event = jQuery.event.fix( event || window.event ); + // Snapshot the handlers list since a called handler may add/remove events. + var handlers = ((jQuery._data( this, "events" ) || {})[ event.type ] || []).slice(0), + run_all = !event.exclusive && !event.namespace, + args = Array.prototype.slice.call( arguments, 0 ); + + // Use the fix-ed Event rather than the (read-only) native event + args[0] = event; + event.currentTarget = this; + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Triggered event must 1) be non-exclusive and have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event. + if ( run_all || event.namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + return event.result; + }, + + props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + // Fixes #1925 where srcElement might not be defined either + event.target = event.srcElement || document; + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var eventDocument = event.target.ownerDocument || document, + doc = eventDocument.documentElement, + body = eventDocument.body; + + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { + event.which = event.charCode != null ? event.charCode : event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, + liveConvert( handleObj.origType, handleObj.selector ), + jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); + }, + + remove: function( handleObj ) { + jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); + } + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + + // Check if mouse(over|out) are still within the same parent element + var related = event.relatedTarget, + inside = false, + eventType = event.type; + + event.type = event.data; + + if ( related !== this ) { + + if ( related ) { + inside = jQuery.contains( this, related ); + } + + if ( !inside ) { + + jQuery.event.handle.apply( this, arguments ); + + event.type = eventType; + } + } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( !jQuery.nodeName( this, "form" ) ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + // Avoid triggering error on non-existent type attribute in IE VML (#7071) + var elem = e.target, + type = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.type : ""; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, + type = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.type : ""; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var changeFilters, + + getVal = function( elem ) { + var type = jQuery.nodeName( elem, "input" ) ? elem.type : "", + val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( jQuery.nodeName( elem, "select" ) ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery._data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery._data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + e.liveFired = undefined; + jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + beforedeactivate: testChange, + + click: function( e ) { + var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : ""; + + if ( type === "radio" || type === "checkbox" || jQuery.nodeName( elem, "select" ) ) { + testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : ""; + + if ( (e.keyCode === 13 && !jQuery.nodeName( elem, "textarea" ) ) || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information + beforeactivate: function( e ) { + var elem = e.target; + jQuery._data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return rformElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return rformElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; + + // Handle when the input is .focus()'d + changeFilters.focus = changeFilters.beforeactivate; +} + +function trigger( type, elem, args ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + // Don't pass args or remember liveFired; they apply to the donor event. + var event = jQuery.extend( {}, args[ 0 ] ); + event.type = type; + event.originalEvent = {}; + event.liveFired = undefined; + jQuery.event.handle.call( elem, event ); + if ( event.isDefaultPrevented() ) { + args[ 0 ].preventDefault(); + } +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + + function handler( donor ) { + // Donor event is always a native one; fix it and switch its type. + // Let focusin/out handler cancel the donor focus/blur event. + var e = jQuery.event.fix( donor ); + e.type = fix; + e.originalEvent = {}; + jQuery.event.trigger( e, null, e.target ); + if ( e.isDefaultPrevented() ) { + donor.preventDefault(); + } + } + }); +} + +jQuery.each(["bind", "one"], function( i, name ) { + jQuery.fn[ name ] = function( type, data, fn ) { + var handler; + + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( arguments.length === 2 || data === false ) { + fn = data; + data = undefined; + } + + if ( name === "one" ) { + handler = function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }; + handler.guid = fn.guid || jQuery.guid++; + } else { + handler = fn; + } + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +}); + +jQuery.fn.extend({ + unbind: function( type, fn ) { + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + if ( this[0] ) { + return jQuery.event.trigger( type, data, this[0], true ); + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +jQuery.each(["live", "die"], function( i, name ) { + jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } + + if ( name === "die" && !types && + origSelector && origSelector.charAt(0) === "." ) { + + context.unbind( origSelector ); + + return this; + } + + if ( data === false || jQuery.isFunction( data ) ) { + fn = data || returnFalse; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( liveMap[ type ] ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + for ( var j = 0, l = context.length; j < l; j++ ) { + jQuery.event.add( context[j], "live." + liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + } + + } else { + // unbind live handler + context.unbind( "live." + liveConvert( type, selector ), fn ); + } + } + + return this; + }; +}); + +function liveHandler( event ) { + var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, + elems = [], + selectors = [], + events = jQuery._data( this, "events" ); + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) + if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { + return; + } + + if ( event.namespace ) { + namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + close = match[i]; + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) { + elem = close.elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + event.type = handleObj.preType; + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + + // Make sure not to accidentally match a child element with the same selector + if ( related && jQuery.contains( elem, related ) ) { + related = elem; + } + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj, level: close.level }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + + if ( maxLevel && match.level > maxLevel ) { + break; + } + + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + ret = match.handleObj.origHandler.apply( match.elem, arguments ); + + if ( ret === false || event.isPropagationStopped() ) { + maxLevel = match.level; + + if ( ret === false ) { + stop = false; + } + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspaces, "&"); +} + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } +}); + + + +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true, + rBackslash = /\\/g, + rNonWord = /\W/; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace( rBackslash, "" ); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( "*" ) : + []; + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + filter = Expr.filter[ type ], + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + }, + type: function( elem ) { + return elem.getAttribute( "type" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !rNonWord.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( match[1] ); + } + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace( rBackslash, "" ) + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace( rBackslash, "" ); + }, + + TAG: function( match, curLoop ) { + return match[1].replace( rBackslash, "" ).toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + match[2] = match[2].replace(/^\+|\s*/g, ''); + + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1] = match[1].replace( rBackslash, "" ); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + // Handle if an un-quoted value was used + match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + var attr = elem.getAttribute( "type" ), type = elem.type; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null ); + }, + + radio: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type; + }, + + checkbox: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type; + }, + + file: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "file" === elem.type; + }, + + password: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "password" === elem.type; + }, + + submit: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "submit" === elem.type; + }, + + image: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "image" === elem.type; + }, + + reset: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "reset" === elem.type; + }, + + button: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && "button" === elem.type || name === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + }, + + focus: function( elem ) { + return elem === elem.ownerDocument.activeElement; + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( name ); + } + }, + + CHILD: function( elem, match ) { + var type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Fallback to using sourceIndex (in IE) if it's available on both nodes + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // If the nodes are siblings (or identical) we can do a quick check + if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(), + root = document.documentElement; + + form.innerHTML = ""; + + // Inject it into the root element, check its status, and remove it quickly + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = ""; + + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + + Expr.attrHandle.href = function( elem ) { + return elem.getAttribute( "href", 2 ); + }; + } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

    "; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + // See if we find a selector to speed up + var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); + + if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { + // Speed-up: Sizzle("TAG") + if ( match[1] ) { + return makeArray( context.getElementsByTagName( query ), extra ); + + // Speed-up: Sizzle(".CLASS") + } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { + return makeArray( context.getElementsByClassName( match[2] ), extra ); + } + } + + if ( context.nodeType === 9 ) { + // Speed-up: Sizzle("body") + // The body element only exists once, optimize finding it + if ( query === "body" && context.body ) { + return makeArray( [ context.body ], extra ); + + // Speed-up: Sizzle("#ID") + } else if ( match && match[3] ) { + var elem = context.getElementById( match[3] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id === match[3] ) { + return makeArray( [ elem ], extra ); + } + + } else { + return makeArray( [], extra ); + } + } + + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var oldContext = context, + old = context.getAttribute( "id" ), + nid = old || id, + hasParent = context.parentNode, + relativeHierarchySelector = /^\s*[+~]/.test( query ); + + if ( !old ) { + context.setAttribute( "id", nid ); + } else { + nid = nid.replace( /'/g, "\\$&" ); + } + if ( relativeHierarchySelector && hasParent ) { + context = context.parentNode; + } + + try { + if ( !relativeHierarchySelector || hasParent ) { + return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); + } + + } catch(pseudoError) { + } finally { + if ( !old ) { + oldContext.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector; + + if ( matches ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9 fails this) + var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ), + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + var ret = matches.call( node, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || !disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9, so check for that + node.document && node.document.nodeType !== 11 ) { + return ret; + } + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
    "; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.POS, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var self = this, + i, l; + + if ( typeof selector !== "string" ) { + return jQuery( selector ).filter(function() { + for ( i = 0, l = self.length; i < l; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }); + } + + var ret = this.pushStack( "", "find", selector ), + length, n, r; + + for ( i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( n = length; n < ret.length; n++ ) { + for ( r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && ( typeof selector === "string" ? + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + // Array + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[ selector ] ) { + matches[ selector ] = POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[ selector ]; + + if ( match.jquery ? match.index( cur ) > -1 : jQuery( cur ).is( match ) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + // String + var pos = POS.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique( ret ) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( elem.parentNode.firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +} + + + + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /", "" ], + legend: [ 1, "
    ", "
    " ], + thead: [ 1, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + col: [ 2, "", "
    " ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and ' ); + + iframe_doc.close(); + + // Update the Iframe's hash, for great justice. + iframe.location.hash = hash; + } + }; + + })(); + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + // ^^^^^^^^^^^^^^^^^^^ REMOVE IF NOT SUPPORTING IE6/7/8 ^^^^^^^^^^^^^^^^^^^ + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + return self; + })(); + +})(jQuery,this); + +(function( $, undefined ) { + + /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */ + window.matchMedia = window.matchMedia || (function( doc, undefined ) { + + + + var bool, + docElem = doc.documentElement, + refNode = docElem.firstElementChild || docElem.firstChild, + // fakeBody required for + fakeBody = doc.createElement( "body" ), + div = doc.createElement( "div" ); + + div.id = "mq-test-1"; + div.style.cssText = "position:absolute;top:-100em"; + fakeBody.style.background = "none"; + fakeBody.appendChild(div); + + return function(q){ + + div.innerHTML = "­"; + + docElem.insertBefore( fakeBody, refNode ); + bool = div.offsetWidth === 42; + docElem.removeChild( fakeBody ); + + return { + matches: bool, + media: q + }; + + }; + + }( document )); + + // $.mobile.media uses matchMedia to return a boolean. + $.mobile.media = function( q ) { + return window.matchMedia( q ).matches; + }; + +})(jQuery); + + (function( $, undefined ) { + var support = { + touch: "ontouchend" in document + }; + + $.mobile.support = $.mobile.support || {}; + $.extend( $.support, support ); + $.extend( $.mobile.support, support ); + }( jQuery )); + + (function( $, undefined ) { + $.extend( $.support, { + orientation: "orientation" in window && "onorientationchange" in window + }); + }( jQuery )); + +(function( $, undefined ) { + +// thx Modernizr +function propExists( prop ) { + var uc_prop = prop.charAt( 0 ).toUpperCase() + prop.substr( 1 ), + props = ( prop + " " + vendors.join( uc_prop + " " ) + uc_prop ).split( " " ); + + for ( var v in props ) { + if ( fbCSS[ props[ v ] ] !== undefined ) { + return true; + } + } +} + +var fakeBody = $( "" ).prependTo( "html" ), + fbCSS = fakeBody[ 0 ].style, + vendors = [ "Webkit", "Moz", "O" ], + webos = "palmGetResource" in window, //only used to rule out scrollTop + opera = window.opera, + operamini = window.operamini && ({}).toString.call( window.operamini ) === "[object OperaMini]", + bb = window.blackberry && !propExists( "-webkit-transform" ); //only used to rule out box shadow, as it's filled opaque on BB 5 and lower + + +function validStyle( prop, value, check_vend ) { + var div = document.createElement( 'div' ), + uc = function( txt ) { + return txt.charAt( 0 ).toUpperCase() + txt.substr( 1 ); + }, + vend_pref = function( vend ) { + if( vend === "" ) { + return ""; + } else { + return "-" + vend.charAt( 0 ).toLowerCase() + vend.substr( 1 ) + "-"; + } + }, + check_style = function( vend ) { + var vend_prop = vend_pref( vend ) + prop + ": " + value + ";", + uc_vend = uc( vend ), + propStyle = uc_vend + ( uc_vend === "" ? prop : uc( prop ) ); + + div.setAttribute( "style", vend_prop ); + + if ( !!div.style[ propStyle ] ) { + ret = true; + } + }, + check_vends = check_vend ? check_vend : vendors, + ret; + + for( var i = 0; i < check_vends.length; i++ ) { + check_style( check_vends[i] ); + } + return !!ret; +} + +function transform3dTest() { + var mqProp = "transform-3d", + // Because the `translate3d` test below throws false positives in Android: + ret = $.mobile.media( "(-" + vendors.join( "-" + mqProp + "),(-" ) + "-" + mqProp + "),(" + mqProp + ")" ); + + if( ret ) { + return !!ret; + } + + var el = document.createElement( "div" ), + transforms = { + // We’re omitting Opera for the time being; MS uses unprefixed. + 'MozTransform':'-moz-transform', + 'transform':'transform' + }; + + fakeBody.append( el ); + + for ( var t in transforms ) { + if( el.style[ t ] !== undefined ){ + el.style[ t ] = 'translate3d( 100px, 1px, 1px )'; + ret = window.getComputedStyle( el ).getPropertyValue( transforms[ t ] ); + } + } + return ( !!ret && ret !== "none" ); +} + +// Test for dynamic-updating base tag support ( allows us to avoid href,src attr rewriting ) +function baseTagTest() { + var fauxBase = location.protocol + "//" + location.host + location.pathname + "ui-dir/", + base = $( "head base" ), + fauxEle = null, + href = "", + link, rebase; + + if ( !base.length ) { + base = fauxEle = $( "", { "href": fauxBase }).appendTo( "head" ); + } else { + href = base.attr( "href" ); + } + + link = $( "" ).prependTo( fakeBody ); + rebase = link[ 0 ].href; + base[ 0 ].href = href || location.pathname; + + if ( fauxEle ) { + fauxEle.remove(); + } + return rebase.indexOf( fauxBase ) === 0; +} + +// Thanks Modernizr +function cssPointerEventsTest() { + var element = document.createElement( 'x' ), + documentElement = document.documentElement, + getComputedStyle = window.getComputedStyle, + supports; + + if ( !( 'pointerEvents' in element.style ) ) { + return false; + } + + element.style.pointerEvents = 'auto'; + element.style.pointerEvents = 'x'; + documentElement.appendChild( element ); + supports = getComputedStyle && + getComputedStyle( element, '' ).pointerEvents === 'auto'; + documentElement.removeChild( element ); + return !!supports; +} + +function boundingRect() { + var div = document.createElement( "div" ); + return typeof div.getBoundingClientRect !== "undefined"; +} + +// non-UA-based IE version check by James Padolsey, modified by jdalton - from http://gist.github.com/527683 +// allows for inclusion of IE 6+, including Windows Mobile 7 +$.extend( $.mobile, { browser: {} } ); +$.mobile.browser.oldIE = (function() { + var v = 3, + div = document.createElement( "div" ), + a = div.all || []; + + do { + div.innerHTML = ""; + } while( a[0] ); + + return v > 4 ? v : !v; +})(); + +function fixedPosition() { + var w = window, + ua = navigator.userAgent, + platform = navigator.platform, + // Rendering engine is Webkit, and capture major version + wkmatch = ua.match( /AppleWebKit\/([0-9]+)/ ), + wkversion = !!wkmatch && wkmatch[ 1 ], + ffmatch = ua.match( /Fennec\/([0-9]+)/ ), + ffversion = !!ffmatch && ffmatch[ 1 ], + operammobilematch = ua.match( /Opera Mobi\/([0-9]+)/ ), + omversion = !!operammobilematch && operammobilematch[ 1 ]; + + if( + // iOS 4.3 and older : Platform is iPhone/Pad/Touch and Webkit version is less than 534 (ios5) + ( ( platform.indexOf( "iPhone" ) > -1 || platform.indexOf( "iPad" ) > -1 || platform.indexOf( "iPod" ) > -1 ) && wkversion && wkversion < 534 ) || + // Opera Mini + ( w.operamini && ({}).toString.call( w.operamini ) === "[object OperaMini]" ) || + ( operammobilematch && omversion < 7458 ) || + //Android lte 2.1: Platform is Android and Webkit version is less than 533 (Android 2.2) + ( ua.indexOf( "Android" ) > -1 && wkversion && wkversion < 533 ) || + // Firefox Mobile before 6.0 - + ( ffversion && ffversion < 6 ) || + // WebOS less than 3 + ( "palmGetResource" in window && wkversion && wkversion < 534 ) || + // MeeGo + ( ua.indexOf( "MeeGo" ) > -1 && ua.indexOf( "NokiaBrowser/8.5.0" ) > -1 ) ) { + return false; + } + + return true; +} + +$.extend( $.support, { + cssTransitions: "WebKitTransitionEvent" in window || + validStyle( 'transition', 'height 100ms linear', [ "Webkit", "Moz", "" ] ) && + !$.mobile.browser.oldIE && !opera, + + // Note, Chrome for iOS has an extremely quirky implementation of popstate. + // We've chosen to take the shortest path to a bug fix here for issue #5426 + // See the following link for information about the regex chosen + // https://developers.google.com/chrome/mobile/docs/user-agent#chrome_for_ios_user-agent + pushState: "pushState" in history && + "replaceState" in history && + ( window.navigator.userAgent.search(/CriOS/) === -1 ), + + mediaquery: $.mobile.media( "only all" ), + cssPseudoElement: !!propExists( "content" ), + touchOverflow: !!propExists( "overflowScrolling" ), + cssTransform3d: transform3dTest(), + boxShadow: !!propExists( "boxShadow" ) && !bb, + fixedPosition: fixedPosition(), + scrollTop: ("pageXOffset" in window || + "scrollTop" in document.documentElement || + "scrollTop" in fakeBody[ 0 ]) && !webos && !operamini, + + dynamicBaseTag: baseTagTest(), + cssPointerEvents: cssPointerEventsTest(), + boundingRect: boundingRect() +}); + +fakeBody.remove(); + + +// $.mobile.ajaxBlacklist is used to override ajaxEnabled on platforms that have known conflicts with hash history updates (BB5, Symbian) +// or that generally work better browsing in regular http for full page refreshes (Opera Mini) +// Note: This detection below is used as a last resort. +// We recommend only using these detection methods when all other more reliable/forward-looking approaches are not possible +var nokiaLTE7_3 = (function() { + + var ua = window.navigator.userAgent; + + //The following is an attempt to match Nokia browsers that are running Symbian/s60, with webkit, version 7.3 or older + return ua.indexOf( "Nokia" ) > -1 && + ( ua.indexOf( "Symbian/3" ) > -1 || ua.indexOf( "Series60/5" ) > -1 ) && + ua.indexOf( "AppleWebKit" ) > -1 && + ua.match( /(BrowserNG|NokiaBrowser)\/7\.[0-3]/ ); +})(); + +// Support conditions that must be met in order to proceed +// default enhanced qualifications are media query support OR IE 7+ + +$.mobile.gradeA = function() { + return ( $.support.mediaquery || $.mobile.browser.oldIE && $.mobile.browser.oldIE >= 7 ) && ( $.support.boundingRect || $.fn.jquery.match(/1\.[0-7+]\.[0-9+]?/) !== null ); +}; + +$.mobile.ajaxBlacklist = + // BlackBerry browsers, pre-webkit + window.blackberry && !window.WebKitPoint || + // Opera Mini + operamini || + // Symbian webkits pre 7.3 + nokiaLTE7_3; + +// Lastly, this workaround is the only way we've found so far to get pre 7.3 Symbian webkit devices +// to render the stylesheets when they're referenced before this script, as we'd recommend doing. +// This simply reappends the CSS in place, which for some reason makes it apply +if ( nokiaLTE7_3 ) { + $(function() { + $( "head link[rel='stylesheet']" ).attr( "rel", "alternate stylesheet" ).attr( "rel", "stylesheet" ); + }); +} + +// For ruling out shadows via css +if ( !$.support.boxShadow ) { + $( "html" ).addClass( "ui-mobile-nosupport-boxshadow" ); +} + +})( jQuery ); + + +(function( $, undefined ) { + var $win = $.mobile.window, self, history; + + $.event.special.navigate = self = { + bound: false, + + pushStateEnabled: true, + + originalEventName: undefined, + + // If pushstate support is present and push state support is defined to + // be true on the mobile namespace. + isPushStateEnabled: function() { + return $.support.pushState && + $.mobile.pushStateEnabled === true && + this.isHashChangeEnabled(); + }, + + // !! assumes mobile namespace is present + isHashChangeEnabled: function() { + return $.mobile.hashListeningEnabled === true; + }, + + // TODO a lot of duplication between popstate and hashchange + popstate: function( event ) { + var newEvent = new $.Event( "navigate" ), + beforeNavigate = new $.Event( "beforenavigate" ), + state = event.originalEvent.state || {}, + href = location.href; + + $win.trigger( beforeNavigate ); + + if( beforeNavigate.isDefaultPrevented() ){ + return; + } + + if( event.historyState ){ + $.extend(state, event.historyState); + } + + // Make sure the original event is tracked for the end + // user to inspect incase they want to do something special + newEvent.originalEvent = event; + + // NOTE we let the current stack unwind because any assignment to + // location.hash will stop the world and run this event handler. By + // doing this we create a similar behavior to hashchange on hash + // assignment + setTimeout(function() { + $win.trigger( newEvent, { + state: state + }); + }, 0); + }, + + hashchange: function( event, data ) { + var newEvent = new $.Event( "navigate" ), + beforeNavigate = new $.Event( "beforenavigate" ); + + $win.trigger( beforeNavigate ); + + if( beforeNavigate.isDefaultPrevented() ){ + return; + } + + // Make sure the original event is tracked for the end + // user to inspect incase they want to do something special + newEvent.originalEvent = event; + + // Trigger the hashchange with state provided by the user + // that altered the hash + $win.trigger( newEvent, { + // Users that want to fully normalize the two events + // will need to do history management down the stack and + // add the state to the event before this binding is fired + // TODO consider allowing for the explicit addition of callbacks + // to be fired before this value is set to avoid event timing issues + state: event.hashchangeState || {} + }); + }, + + // TODO We really only want to set this up once + // but I'm not clear if there's a beter way to achieve + // this with the jQuery special event structure + setup: function( data, namespaces ) { + if( self.bound ) { + return; + } + + self.bound = true; + + if( self.isPushStateEnabled() ) { + self.originalEventName = "popstate"; + $win.bind( "popstate.navigate", self.popstate ); + } else if ( self.isHashChangeEnabled() ){ + self.originalEventName = "hashchange"; + $win.bind( "hashchange.navigate", self.hashchange ); + } + } + }; +})( jQuery ); + + + +(function( $, undefined ) { + var path, documentBase, $base, dialogHashKey = "&ui-state=dialog"; + + $.mobile.path = path = { + uiStateKey: "&ui-state", + + // This scary looking regular expression parses an absolute URL or its relative + // variants (protocol, site, document, query, and hash), into the various + // components (protocol, host, path, query, fragment, etc that make up the + // URL as well as some other commonly used sub-parts. When used with RegExp.exec() + // or String.match, it parses the URL into a results array that looks like this: + // + // [0]: http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread#msg-content + // [1]: http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread + // [2]: http://jblas:password@mycompany.com:8080/mail/inbox + // [3]: http://jblas:password@mycompany.com:8080 + // [4]: http: + // [5]: // + // [6]: jblas:password@mycompany.com:8080 + // [7]: jblas:password + // [8]: jblas + // [9]: password + // [10]: mycompany.com:8080 + // [11]: mycompany.com + // [12]: 8080 + // [13]: /mail/inbox + // [14]: /mail/ + // [15]: inbox + // [16]: ?msg=1234&type=unread + // [17]: #msg-content + // + urlParseRE: /^\s*(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/, + + // Abstraction to address xss (Issue #4787) by removing the authority in + // browsers that auto decode it. All references to location.href should be + // replaced with a call to this method so that it can be dealt with properly here + getLocation: function( url ) { + var uri = url ? this.parseUrl( url ) : location, + hash = this.parseUrl( url || location.href ).hash; + + // mimic the browser with an empty string when the hash is empty + hash = hash === "#" ? "" : hash; + + // Make sure to parse the url or the location object for the hash because using location.hash + // is autodecoded in firefox, the rest of the url should be from the object (location unless + // we're testing) to avoid the inclusion of the authority + return uri.protocol + "//" + uri.host + uri.pathname + uri.search + hash; + }, + + parseLocation: function() { + return this.parseUrl( this.getLocation() ); + }, + + //Parse a URL into a structure that allows easy access to + //all of the URL components by name. + parseUrl: function( url ) { + // If we're passed an object, we'll assume that it is + // a parsed url object and just return it back to the caller. + if ( $.type( url ) === "object" ) { + return url; + } + + var matches = path.urlParseRE.exec( url || "" ) || []; + + // Create an object that allows the caller to access the sub-matches + // by name. Note that IE returns an empty string instead of undefined, + // like all other browsers do, so we normalize everything so its consistent + // no matter what browser we're running on. + return { + href: matches[ 0 ] || "", + hrefNoHash: matches[ 1 ] || "", + hrefNoSearch: matches[ 2 ] || "", + domain: matches[ 3 ] || "", + protocol: matches[ 4 ] || "", + doubleSlash: matches[ 5 ] || "", + authority: matches[ 6 ] || "", + username: matches[ 8 ] || "", + password: matches[ 9 ] || "", + host: matches[ 10 ] || "", + hostname: matches[ 11 ] || "", + port: matches[ 12 ] || "", + pathname: matches[ 13 ] || "", + directory: matches[ 14 ] || "", + filename: matches[ 15 ] || "", + search: matches[ 16 ] || "", + hash: matches[ 17 ] || "" + }; + }, + + //Turn relPath into an asbolute path. absPath is + //an optional absolute path which describes what + //relPath is relative to. + makePathAbsolute: function( relPath, absPath ) { + if ( relPath && relPath.charAt( 0 ) === "/" ) { + return relPath; + } + + relPath = relPath || ""; + absPath = absPath ? absPath.replace( /^\/|(\/[^\/]*|[^\/]+)$/g, "" ) : ""; + + var absStack = absPath ? absPath.split( "/" ) : [], + relStack = relPath.split( "/" ); + for ( var i = 0; i < relStack.length; i++ ) { + var d = relStack[ i ]; + switch ( d ) { + case ".": + break; + case "..": + if ( absStack.length ) { + absStack.pop(); + } + break; + default: + absStack.push( d ); + break; + } + } + return "/" + absStack.join( "/" ); + }, + + //Returns true if both urls have the same domain. + isSameDomain: function( absUrl1, absUrl2 ) { + return path.parseUrl( absUrl1 ).domain === path.parseUrl( absUrl2 ).domain; + }, + + //Returns true for any relative variant. + isRelativeUrl: function( url ) { + // All relative Url variants have one thing in common, no protocol. + return path.parseUrl( url ).protocol === ""; + }, + + //Returns true for an absolute url. + isAbsoluteUrl: function( url ) { + return path.parseUrl( url ).protocol !== ""; + }, + + //Turn the specified realtive URL into an absolute one. This function + //can handle all relative variants (protocol, site, document, query, fragment). + makeUrlAbsolute: function( relUrl, absUrl ) { + if ( !path.isRelativeUrl( relUrl ) ) { + return relUrl; + } + + if ( absUrl === undefined ) { + absUrl = this.documentBase; + } + + var relObj = path.parseUrl( relUrl ), + absObj = path.parseUrl( absUrl ), + protocol = relObj.protocol || absObj.protocol, + doubleSlash = relObj.protocol ? relObj.doubleSlash : ( relObj.doubleSlash || absObj.doubleSlash ), + authority = relObj.authority || absObj.authority, + hasPath = relObj.pathname !== "", + pathname = path.makePathAbsolute( relObj.pathname || absObj.filename, absObj.pathname ), + search = relObj.search || ( !hasPath && absObj.search ) || "", + hash = relObj.hash; + + return protocol + doubleSlash + authority + pathname + search + hash; + }, + + //Add search (aka query) params to the specified url. + addSearchParams: function( url, params ) { + var u = path.parseUrl( url ), + p = ( typeof params === "object" ) ? $.param( params ) : params, + s = u.search || "?"; + return u.hrefNoSearch + s + ( s.charAt( s.length - 1 ) !== "?" ? "&" : "" ) + p + ( u.hash || "" ); + }, + + convertUrlToDataUrl: function( absUrl ) { + var u = path.parseUrl( absUrl ); + if ( path.isEmbeddedPage( u ) ) { + // For embedded pages, remove the dialog hash key as in getFilePath(), + // and remove otherwise the Data Url won't match the id of the embedded Page. + return u.hash + .split( dialogHashKey )[0] + .replace( /^#/, "" ) + .replace( /\?.*$/, "" ); + } else if ( path.isSameDomain( u, this.documentBase ) ) { + return u.hrefNoHash.replace( this.documentBase.domain, "" ).split( dialogHashKey )[0]; + } + + return window.decodeURIComponent(absUrl); + }, + + //get path from current hash, or from a file path + get: function( newPath ) { + if ( newPath === undefined ) { + newPath = path.parseLocation().hash; + } + return path.stripHash( newPath ).replace( /[^\/]*\.[^\/*]+$/, '' ); + }, + + //set location hash to path + set: function( path ) { + location.hash = path; + }, + + //test if a given url (string) is a path + //NOTE might be exceptionally naive + isPath: function( url ) { + return ( /\// ).test( url ); + }, + + //return a url path with the window's location protocol/hostname/pathname removed + clean: function( url ) { + return url.replace( this.documentBase.domain, "" ); + }, + + //just return the url without an initial # + stripHash: function( url ) { + return url.replace( /^#/, "" ); + }, + + stripQueryParams: function( url ) { + return url.replace( /\?.*$/, "" ); + }, + + //remove the preceding hash, any query params, and dialog notations + cleanHash: function( hash ) { + return path.stripHash( hash.replace( /\?.*$/, "" ).replace( dialogHashKey, "" ) ); + }, + + isHashValid: function( hash ) { + return ( /^#[^#]+$/ ).test( hash ); + }, + + //check whether a url is referencing the same domain, or an external domain or different protocol + //could be mailto, etc + isExternal: function( url ) { + var u = path.parseUrl( url ); + return u.protocol && u.domain !== this.documentUrl.domain ? true : false; + }, + + hasProtocol: function( url ) { + return ( /^(:?\w+:)/ ).test( url ); + }, + + isEmbeddedPage: function( url ) { + var u = path.parseUrl( url ); + + //if the path is absolute, then we need to compare the url against + //both the this.documentUrl and the documentBase. The main reason for this + //is that links embedded within external documents will refer to the + //application document, whereas links embedded within the application + //document will be resolved against the document base. + if ( u.protocol !== "" ) { + return ( !this.isPath(u.hash) && u.hash && ( u.hrefNoHash === this.documentUrl.hrefNoHash || ( this.documentBaseDiffers && u.hrefNoHash === this.documentBase.hrefNoHash ) ) ); + } + return ( /^#/ ).test( u.href ); + }, + + squash: function( url, resolutionUrl ) { + var state, href, cleanedUrl, search, stateIndex, + isPath = this.isPath( url ), + uri = this.parseUrl( url ), + preservedHash = uri.hash, + uiState = ""; + + // produce a url against which we can resole the provided path + resolutionUrl = resolutionUrl || (path.isPath(url) ? path.getLocation() : path.getDocumentUrl()); + + // If the url is anything but a simple string, remove any preceding hash + // eg #foo/bar -> foo/bar + // #foo -> #foo + cleanedUrl = isPath ? path.stripHash( url ) : url; + + // If the url is a full url with a hash check if the parsed hash is a path + // if it is, strip the #, and use it otherwise continue without change + cleanedUrl = path.isPath( uri.hash ) ? path.stripHash( uri.hash ) : cleanedUrl; + + // Split the UI State keys off the href + stateIndex = cleanedUrl.indexOf( this.uiStateKey ); + + // store the ui state keys for use + if( stateIndex > -1 ){ + uiState = cleanedUrl.slice( stateIndex ); + cleanedUrl = cleanedUrl.slice( 0, stateIndex ); + } + + // make the cleanedUrl absolute relative to the resolution url + href = path.makeUrlAbsolute( cleanedUrl, resolutionUrl ); + + // grab the search from the resolved url since parsing from + // the passed url may not yield the correct result + search = this.parseUrl( href ).search; + + // TODO all this crap is terrible, clean it up + if ( isPath ) { + // reject the hash if it's a path or it's just a dialog key + if( path.isPath( preservedHash ) || preservedHash.replace("#", "").indexOf( this.uiStateKey ) === 0) { + preservedHash = ""; + } + + // Append the UI State keys where it exists and it's been removed + // from the url + if( uiState && preservedHash.indexOf( this.uiStateKey ) === -1){ + preservedHash += uiState; + } + + // make sure that pound is on the front of the hash + if( preservedHash.indexOf( "#" ) === -1 && preservedHash !== "" ){ + preservedHash = "#" + preservedHash; + } + + // reconstruct each of the pieces with the new search string and hash + href = path.parseUrl( href ); + href = href.protocol + "//" + href.host + href.pathname + search + preservedHash; + } else { + href += href.indexOf( "#" ) > -1 ? uiState : "#" + uiState; + } + + return href; + }, + + isPreservableHash: function( hash ) { + return hash.replace( "#", "" ).indexOf( this.uiStateKey ) === 0; + } + }; + + path.documentUrl = path.parseLocation(); + + $base = $( "head" ).find( "base" ); + + path.documentBase = $base.length ? + path.parseUrl( path.makeUrlAbsolute( $base.attr( "href" ), path.documentUrl.href ) ) : + path.documentUrl; + + path.documentBaseDiffers = (path.documentUrl.hrefNoHash !== path.documentBase.hrefNoHash); + + //return the original document url + path.getDocumentUrl = function( asParsedObject ) { + return asParsedObject ? $.extend( {}, path.documentUrl ) : path.documentUrl.href; + }; + + //return the original document base url + path.getDocumentBase = function( asParsedObject ) { + return asParsedObject ? $.extend( {}, path.documentBase ) : path.documentBase.href; + }; +})( jQuery ); + + + +(function( $, undefined ) { + var path = $.mobile.path; + + $.mobile.History = function( stack, index ) { + this.stack = stack || []; + this.activeIndex = index || 0; + }; + + $.extend($.mobile.History.prototype, { + getActive: function() { + return this.stack[ this.activeIndex ]; + }, + + getLast: function() { + return this.stack[ this.previousIndex ]; + }, + + getNext: function() { + return this.stack[ this.activeIndex + 1 ]; + }, + + getPrev: function() { + return this.stack[ this.activeIndex - 1 ]; + }, + + // addNew is used whenever a new page is added + add: function( url, data ){ + data = data || {}; + + //if there's forward history, wipe it + if ( this.getNext() ) { + this.clearForward(); + } + + // if the hash is included in the data make sure the shape + // is consistent for comparison + if( data.hash && data.hash.indexOf( "#" ) === -1) { + data.hash = "#" + data.hash; + } + + data.url = url; + this.stack.push( data ); + this.activeIndex = this.stack.length - 1; + }, + + //wipe urls ahead of active index + clearForward: function() { + this.stack = this.stack.slice( 0, this.activeIndex + 1 ); + }, + + find: function( url, stack, earlyReturn ) { + stack = stack || this.stack; + + var entry, i, length = stack.length, index; + + for ( i = 0; i < length; i++ ) { + entry = stack[i]; + + if ( decodeURIComponent(url) === decodeURIComponent(entry.url) || + decodeURIComponent(url) === decodeURIComponent(entry.hash) ) { + index = i; + + if( earlyReturn ) { + return index; + } + } + } + + return index; + }, + + closest: function( url ) { + var closest, a = this.activeIndex; + + // First, take the slice of the history stack before the current index and search + // for a url match. If one is found, we'll avoid avoid looking through forward history + // NOTE the preference for backward history movement is driven by the fact that + // most mobile browsers only have a dedicated back button, and users rarely use + // the forward button in desktop browser anyhow + closest = this.find( url, this.stack.slice(0, a) ); + + // If nothing was found in backward history check forward. The `true` + // value passed as the third parameter causes the find method to break + // on the first match in the forward history slice. The starting index + // of the slice must then be added to the result to get the element index + // in the original history stack :( :( + // + // TODO this is hyper confusing and should be cleaned up (ugh so bad) + if( closest === undefined ) { + closest = this.find( url, this.stack.slice(a), true ); + closest = closest === undefined ? closest : closest + a; + } + + return closest; + }, + + direct: function( opts ) { + var newActiveIndex = this.closest( opts.url ), a = this.activeIndex; + + // save new page index, null check to prevent falsey 0 result + // record the previous index for reference + if( newActiveIndex !== undefined ) { + this.activeIndex = newActiveIndex; + this.previousIndex = a; + } + + // invoke callbacks where appropriate + // + // TODO this is also convoluted and confusing + if ( newActiveIndex < a ) { + ( opts.present || opts.back || $.noop )( this.getActive(), 'back' ); + } else if ( newActiveIndex > a ) { + ( opts.present || opts.forward || $.noop )( this.getActive(), 'forward' ); + } else if ( newActiveIndex === undefined && opts.missing ){ + opts.missing( this.getActive() ); + } + } + }); +})( jQuery ); + + +(function( $, undefined ) { + var path = $.mobile.path; + + $.mobile.Navigator = function( history ) { + this.history = history; + this.ignoreInitialHashChange = true; + + // This ensures that browsers which don't fire the initial popstate + // like opera don't have further hash assignment popstates blocked + setTimeout($.proxy(function() { + this.ignoreInitialHashChange = false; + }, this), 200); + + $.mobile.window.bind({ + "popstate.history": $.proxy( this.popstate, this ), + "hashchange.history": $.proxy( this.hashchange, this ) + }); + }; + + $.extend($.mobile.Navigator.prototype, { + squash: function( url, data ) { + var state, href, hash = path.isPath(url) ? path.stripHash(url) : url; + + href = path.squash( url ); + + // make sure to provide this information when it isn't explicitly set in the + // data object that was passed to the squash method + state = $.extend({ + hash: hash, + url: href + }, data); + + // replace the current url with the new href and store the state + // Note that in some cases we might be replacing an url with the + // same url. We do this anyways because we need to make sure that + // all of our history entries have a state object associated with + // them. This allows us to work around the case where $.mobile.back() + // is called to transition from an external page to an embedded page. + // In that particular case, a hashchange event is *NOT* generated by the browser. + // Ensuring each history entry has a state object means that onPopState() + // will always trigger our hashchange callback even when a hashchange event + // is not fired. + window.history.replaceState( state, state.title || document.title, href ); + + return state; + }, + + hash: function( url, href ) { + var parsed, loc, hash; + + // Grab the hash for recording. If the passed url is a path + // we used the parsed version of the squashed url to reconstruct, + // otherwise we assume it's a hash and store it directly + parsed = path.parseUrl( url ); + loc = path.parseLocation(); + + if( loc.pathname + loc.search === parsed.pathname + parsed.search ) { + // If the pathname and search of the passed url is identical to the current loc + // then we must use the hash. Otherwise there will be no event + // eg, url = "/foo/bar?baz#bang", location.href = "http://example.com/foo/bar?baz" + hash = parsed.hash ? parsed.hash : parsed.pathname + parsed.search; + } else if ( path.isPath(url) ) { + var resolved = path.parseUrl( href ); + // If the passed url is a path, make it domain relative and remove any trailing hash + hash = resolved.pathname + resolved.search + (path.isPreservableHash( resolved.hash )? resolved.hash.replace( "#", "" ) : ""); + } else { + hash = url; + } + + return hash; + }, + + // TODO reconsider name + go: function( url, data, noEvents ) { + var state, href, hash, popstateEvent, + isPopStateEvent = $.event.special.navigate.isPushStateEnabled(); + + // Get the url as it would look squashed on to the current resolution url + href = path.squash( url ); + + // sort out what the hash sould be from the url + hash = this.hash( url, href ); + + // Here we prevent the next hash change or popstate event from doing any + // history management. In the case of hashchange we don't swallow it + // if there will be no hashchange fired (since that won't reset the value) + // and will swallow the following hashchange + if( noEvents && hash !== path.stripHash(path.parseLocation().hash) ) { + this.preventNextHashChange = noEvents; + } + + // IMPORTANT in the case where popstate is supported the event will be triggered + // directly, stopping further execution - ie, interupting the flow of this + // method call to fire bindings at this expression. Below the navigate method + // there is a binding to catch this event and stop its propagation. + // + // We then trigger a new popstate event on the window with a null state + // so that the navigate events can conclude their work properly + // + // if the url is a path we want to preserve the query params that are available on + // the current url. + this.preventHashAssignPopState = true; + window.location.hash = hash; + + // If popstate is enabled and the browser triggers `popstate` events when the hash + // is set (this often happens immediately in browsers like Chrome), then the + // this flag will be set to false already. If it's a browser that does not trigger + // a `popstate` on hash assignement or `replaceState` then we need avoid the branch + // that swallows the event created by the popstate generated by the hash assignment + // At the time of this writing this happens with Opera 12 and some version of IE + this.preventHashAssignPopState = false; + + state = $.extend({ + url: href, + hash: hash, + title: document.title + }, data); + + if( isPopStateEvent ) { + popstateEvent = new $.Event( "popstate" ); + popstateEvent.originalEvent = { + type: "popstate", + state: null + }; + + this.squash( url, state ); + + // Trigger a new faux popstate event to replace the one that we + // caught that was triggered by the hash setting above. + if( !noEvents ) { + this.ignorePopState = true; + $.mobile.window.trigger( popstateEvent ); + } + } + + // record the history entry so that the information can be included + // in hashchange event driven navigate events in a similar fashion to + // the state that's provided by popstate + this.history.add( state.url, state ); + }, + + + // This binding is intended to catch the popstate events that are fired + // when execution of the `$.navigate` method stops at window.location.hash = url; + // and completely prevent them from propagating. The popstate event will then be + // retriggered after execution resumes + // + // TODO grab the original event here and use it for the synthetic event in the + // second half of the navigate execution that will follow this binding + popstate: function( event ) { + var active, hash, state, closestIndex; + + // Partly to support our test suite which manually alters the support + // value to test hashchange. Partly to prevent all around weirdness + if( !$.event.special.navigate.isPushStateEnabled() ){ + return; + } + + // If this is the popstate triggered by the actual alteration of the hash + // prevent it completely. History is tracked manually + if( this.preventHashAssignPopState ) { + this.preventHashAssignPopState = false; + event.stopImmediatePropagation(); + return; + } + + // if this is the popstate triggered after the `replaceState` call in the go + // method, then simply ignore it. The history entry has already been captured + if( this.ignorePopState ) { + this.ignorePopState = false; + return; + } + + // If there is no state, and the history stack length is one were + // probably getting the page load popstate fired by browsers like chrome + // avoid it and set the one time flag to false + if( !event.originalEvent.state && + this.history.stack.length === 1 && + this.ignoreInitialHashChange ) { + this.ignoreInitialHashChange = false; + + return; + } + + // account for direct manipulation of the hash. That is, we will receive a popstate + // when the hash is changed by assignment, and it won't have a state associated. We + // then need to squash the hash. See below for handling of hash assignment that + // matches an existing history entry + // TODO it might be better to only add to the history stack + // when the hash is adjacent to the active history entry + hash = path.parseLocation().hash; + if( !event.originalEvent.state && hash ) { + // squash the hash that's been assigned on the URL with replaceState + // also grab the resulting state object for storage + state = this.squash( hash ); + + // record the new hash as an additional history entry + // to match the browser's treatment of hash assignment + this.history.add( state.url, state ); + + // pass the newly created state information + // along with the event + event.historyState = state; + + // do not alter history, we've added a new history entry + // so we know where we are + return; + } + + // If all else fails this is a popstate that comes from the back or forward buttons + // make sure to set the state of our history stack properly, and record the directionality + this.history.direct({ + url: (event.originalEvent.state || {}).url || hash, + + // When the url is either forward or backward in history include the entry + // as data on the event object for merging as data in the navigate event + present: function( historyEntry, direction ) { + // make sure to create a new object to pass down as the navigate event data + event.historyState = $.extend({}, historyEntry); + event.historyState.direction = direction; + } + }); + }, + + // NOTE must bind before `navigate` special event hashchange binding otherwise the + // navigation data won't be attached to the hashchange event in time for those + // bindings to attach it to the `navigate` special event + // TODO add a check here that `hashchange.navigate` is bound already otherwise it's + // broken (exception?) + hashchange: function( event ) { + var history, hash; + + // If hashchange listening is explicitly disabled or pushstate is supported + // avoid making use of the hashchange handler. + if(!$.event.special.navigate.isHashChangeEnabled() || + $.event.special.navigate.isPushStateEnabled() ) { + return; + } + + // On occasion explicitly want to prevent the next hash from propogating because we only + // with to alter the url to represent the new state do so here + if( this.preventNextHashChange ){ + this.preventNextHashChange = false; + event.stopImmediatePropagation(); + return; + } + + history = this.history; + hash = path.parseLocation().hash; + + // If this is a hashchange caused by the back or forward button + // make sure to set the state of our history stack properly + this.history.direct({ + url: hash, + + // When the url is either forward or backward in history include the entry + // as data on the event object for merging as data in the navigate event + present: function( historyEntry, direction ) { + // make sure to create a new object to pass down as the navigate event data + event.hashchangeState = $.extend({}, historyEntry); + event.hashchangeState.direction = direction; + }, + + // When we don't find a hash in our history clearly we're aiming to go there + // record the entry as new for future traversal + // + // NOTE it's not entirely clear that this is the right thing to do given that we + // can't know the users intention. It might be better to explicitly _not_ + // support location.hash assignment in preference to $.navigate calls + // TODO first arg to add should be the href, but it causes issues in identifying + // embeded pages + missing: function() { + history.add( hash, { + hash: hash, + title: document.title + }); + } + }); + } + }); +})( jQuery ); + + + +(function( $, undefined ) { + // TODO consider queueing navigation activity until previous activities have completed + // so that end users don't have to think about it. Punting for now + // TODO !! move the event bindings into callbacks on the navigate event + $.mobile.navigate = function( url, data, noEvents ) { + $.mobile.navigate.navigator.go( url, data, noEvents ); + }; + + // expose the history on the navigate method in anticipation of full integration with + // existing navigation functionalty that is tightly coupled to the history information + $.mobile.navigate.history = new $.mobile.History(); + + // instantiate an instance of the navigator for use within the $.navigate method + $.mobile.navigate.navigator = new $.mobile.Navigator( $.mobile.navigate.history ); + + var loc = $.mobile.path.parseLocation(); + $.mobile.navigate.history.add( loc.href, {hash: loc.hash} ); +})( jQuery ); + + +// This plugin is an experiment for abstracting away the touch and mouse +// events so that developers don't have to worry about which method of input +// the device their document is loaded on supports. +// +// The idea here is to allow the developer to register listeners for the +// basic mouse events, such as mousedown, mousemove, mouseup, and click, +// and the plugin will take care of registering the correct listeners +// behind the scenes to invoke the listener at the fastest possible time +// for that device, while still retaining the order of event firing in +// the traditional mouse environment, should multiple handlers be registered +// on the same element for different events. +// +// The current version exposes the following virtual events to jQuery bind methods: +// "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel" + +(function( $, window, document, undefined ) { + +var dataPropertyName = "virtualMouseBindings", + touchTargetPropertyName = "virtualTouchID", + virtualEventNames = "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split( " " ), + touchEventProps = "clientX clientY pageX pageY screenX screenY".split( " " ), + mouseHookProps = $.event.mouseHooks ? $.event.mouseHooks.props : [], + mouseEventProps = $.event.props.concat( mouseHookProps ), + activeDocHandlers = {}, + resetTimerID = 0, + startX = 0, + startY = 0, + didScroll = false, + clickBlockList = [], + blockMouseTriggers = false, + blockTouchTriggers = false, + eventCaptureSupported = "addEventListener" in document, + $document = $( document ), + nextTouchID = 1, + lastTouchID = 0, threshold; + +$.vmouse = { + moveDistanceThreshold: 10, + clickDistanceThreshold: 10, + resetTimerDuration: 1500 +}; + +function getNativeEvent( event ) { + + while ( event && typeof event.originalEvent !== "undefined" ) { + event = event.originalEvent; + } + return event; +} + +function createVirtualEvent( event, eventType ) { + + var t = event.type, + oe, props, ne, prop, ct, touch, i, j, len; + + event = $.Event( event ); + event.type = eventType; + + oe = event.originalEvent; + props = $.event.props; + + // addresses separation of $.event.props in to $.event.mouseHook.props and Issue 3280 + // https://github.com/jquery/jquery-mobile/issues/3280 + if ( t.search( /^(mouse|click)/ ) > -1 ) { + props = mouseEventProps; + } + + // copy original event properties over to the new event + // this would happen if we could call $.event.fix instead of $.Event + // but we don't have a way to force an event to be fixed multiple times + if ( oe ) { + for ( i = props.length, prop; i; ) { + prop = props[ --i ]; + event[ prop ] = oe[ prop ]; + } + } + + // make sure that if the mouse and click virtual events are generated + // without a .which one is defined + if ( t.search(/mouse(down|up)|click/) > -1 && !event.which ) { + event.which = 1; + } + + if ( t.search(/^touch/) !== -1 ) { + ne = getNativeEvent( oe ); + t = ne.touches; + ct = ne.changedTouches; + touch = ( t && t.length ) ? t[0] : ( ( ct && ct.length ) ? ct[ 0 ] : undefined ); + + if ( touch ) { + for ( j = 0, len = touchEventProps.length; j < len; j++) { + prop = touchEventProps[ j ]; + event[ prop ] = touch[ prop ]; + } + } + } + + return event; +} + +function getVirtualBindingFlags( element ) { + + var flags = {}, + b, k; + + while ( element ) { + + b = $.data( element, dataPropertyName ); + + for ( k in b ) { + if ( b[ k ] ) { + flags[ k ] = flags.hasVirtualBinding = true; + } + } + element = element.parentNode; + } + return flags; +} + +function getClosestElementWithVirtualBinding( element, eventType ) { + var b; + while ( element ) { + + b = $.data( element, dataPropertyName ); + + if ( b && ( !eventType || b[ eventType ] ) ) { + return element; + } + element = element.parentNode; + } + return null; +} + +function enableTouchBindings() { + blockTouchTriggers = false; +} + +function disableTouchBindings() { + blockTouchTriggers = true; +} + +function enableMouseBindings() { + lastTouchID = 0; + clickBlockList.length = 0; + blockMouseTriggers = false; + + // When mouse bindings are enabled, our + // touch bindings are disabled. + disableTouchBindings(); +} + +function disableMouseBindings() { + // When mouse bindings are disabled, our + // touch bindings are enabled. + enableTouchBindings(); +} + +function startResetTimer() { + clearResetTimer(); + resetTimerID = setTimeout( function() { + resetTimerID = 0; + enableMouseBindings(); + }, $.vmouse.resetTimerDuration ); +} + +function clearResetTimer() { + if ( resetTimerID ) { + clearTimeout( resetTimerID ); + resetTimerID = 0; + } +} + +function triggerVirtualEvent( eventType, event, flags ) { + var ve; + + if ( ( flags && flags[ eventType ] ) || + ( !flags && getClosestElementWithVirtualBinding( event.target, eventType ) ) ) { + + ve = createVirtualEvent( event, eventType ); + + $( event.target).trigger( ve ); + } + + return ve; +} + +function mouseEventCallback( event ) { + var touchID = $.data( event.target, touchTargetPropertyName ); + + if ( !blockMouseTriggers && ( !lastTouchID || lastTouchID !== touchID ) ) { + var ve = triggerVirtualEvent( "v" + event.type, event ); + if ( ve ) { + if ( ve.isDefaultPrevented() ) { + event.preventDefault(); + } + if ( ve.isPropagationStopped() ) { + event.stopPropagation(); + } + if ( ve.isImmediatePropagationStopped() ) { + event.stopImmediatePropagation(); + } + } + } +} + +function handleTouchStart( event ) { + + var touches = getNativeEvent( event ).touches, + target, flags; + + if ( touches && touches.length === 1 ) { + + target = event.target; + flags = getVirtualBindingFlags( target ); + + if ( flags.hasVirtualBinding ) { + + lastTouchID = nextTouchID++; + $.data( target, touchTargetPropertyName, lastTouchID ); + + clearResetTimer(); + + disableMouseBindings(); + didScroll = false; + + var t = getNativeEvent( event ).touches[ 0 ]; + startX = t.pageX; + startY = t.pageY; + + triggerVirtualEvent( "vmouseover", event, flags ); + triggerVirtualEvent( "vmousedown", event, flags ); + } + } +} + +function handleScroll( event ) { + if ( blockTouchTriggers ) { + return; + } + + if ( !didScroll ) { + triggerVirtualEvent( "vmousecancel", event, getVirtualBindingFlags( event.target ) ); + } + + didScroll = true; + startResetTimer(); +} + +function handleTouchMove( event ) { + if ( blockTouchTriggers ) { + return; + } + + var t = getNativeEvent( event ).touches[ 0 ], + didCancel = didScroll, + moveThreshold = $.vmouse.moveDistanceThreshold, + flags = getVirtualBindingFlags( event.target ); + + didScroll = didScroll || + ( Math.abs( t.pageX - startX ) > moveThreshold || + Math.abs( t.pageY - startY ) > moveThreshold ); + + + if ( didScroll && !didCancel ) { + triggerVirtualEvent( "vmousecancel", event, flags ); + } + + triggerVirtualEvent( "vmousemove", event, flags ); + startResetTimer(); +} + +function handleTouchEnd( event ) { + if ( blockTouchTriggers ) { + return; + } + + disableTouchBindings(); + + var flags = getVirtualBindingFlags( event.target ), + t; + triggerVirtualEvent( "vmouseup", event, flags ); + + if ( !didScroll ) { + var ve = triggerVirtualEvent( "vclick", event, flags ); + if ( ve && ve.isDefaultPrevented() ) { + // The target of the mouse events that follow the touchend + // event don't necessarily match the target used during the + // touch. This means we need to rely on coordinates for blocking + // any click that is generated. + t = getNativeEvent( event ).changedTouches[ 0 ]; + clickBlockList.push({ + touchID: lastTouchID, + x: t.clientX, + y: t.clientY + }); + + // Prevent any mouse events that follow from triggering + // virtual event notifications. + blockMouseTriggers = true; + } + } + triggerVirtualEvent( "vmouseout", event, flags); + didScroll = false; + + startResetTimer(); +} + +function hasVirtualBindings( ele ) { + var bindings = $.data( ele, dataPropertyName ), + k; + + if ( bindings ) { + for ( k in bindings ) { + if ( bindings[ k ] ) { + return true; + } + } + } + return false; +} + +function dummyMouseHandler() {} + +function getSpecialEventObject( eventType ) { + var realType = eventType.substr( 1 ); + + return { + setup: function( data, namespace ) { + // If this is the first virtual mouse binding for this element, + // add a bindings object to its data. + + if ( !hasVirtualBindings( this ) ) { + $.data( this, dataPropertyName, {} ); + } + + // If setup is called, we know it is the first binding for this + // eventType, so initialize the count for the eventType to zero. + var bindings = $.data( this, dataPropertyName ); + bindings[ eventType ] = true; + + // If this is the first virtual mouse event for this type, + // register a global handler on the document. + + activeDocHandlers[ eventType ] = ( activeDocHandlers[ eventType ] || 0 ) + 1; + + if ( activeDocHandlers[ eventType ] === 1 ) { + $document.bind( realType, mouseEventCallback ); + } + + // Some browsers, like Opera Mini, won't dispatch mouse/click events + // for elements unless they actually have handlers registered on them. + // To get around this, we register dummy handlers on the elements. + + $( this ).bind( realType, dummyMouseHandler ); + + // For now, if event capture is not supported, we rely on mouse handlers. + if ( eventCaptureSupported ) { + // If this is the first virtual mouse binding for the document, + // register our touchstart handler on the document. + + activeDocHandlers[ "touchstart" ] = ( activeDocHandlers[ "touchstart" ] || 0) + 1; + + if ( activeDocHandlers[ "touchstart" ] === 1 ) { + $document.bind( "touchstart", handleTouchStart ) + .bind( "touchend", handleTouchEnd ) + + // On touch platforms, touching the screen and then dragging your finger + // causes the window content to scroll after some distance threshold is + // exceeded. On these platforms, a scroll prevents a click event from being + // dispatched, and on some platforms, even the touchend is suppressed. To + // mimic the suppression of the click event, we need to watch for a scroll + // event. Unfortunately, some platforms like iOS don't dispatch scroll + // events until *AFTER* the user lifts their finger (touchend). This means + // we need to watch both scroll and touchmove events to figure out whether + // or not a scroll happenens before the touchend event is fired. + + .bind( "touchmove", handleTouchMove ) + .bind( "scroll", handleScroll ); + } + } + }, + + teardown: function( data, namespace ) { + // If this is the last virtual binding for this eventType, + // remove its global handler from the document. + + --activeDocHandlers[ eventType ]; + + if ( !activeDocHandlers[ eventType ] ) { + $document.unbind( realType, mouseEventCallback ); + } + + if ( eventCaptureSupported ) { + // If this is the last virtual mouse binding in existence, + // remove our document touchstart listener. + + --activeDocHandlers[ "touchstart" ]; + + if ( !activeDocHandlers[ "touchstart" ] ) { + $document.unbind( "touchstart", handleTouchStart ) + .unbind( "touchmove", handleTouchMove ) + .unbind( "touchend", handleTouchEnd ) + .unbind( "scroll", handleScroll ); + } + } + + var $this = $( this ), + bindings = $.data( this, dataPropertyName ); + + // teardown may be called when an element was + // removed from the DOM. If this is the case, + // jQuery core may have already stripped the element + // of any data bindings so we need to check it before + // using it. + if ( bindings ) { + bindings[ eventType ] = false; + } + + // Unregister the dummy event handler. + + $this.unbind( realType, dummyMouseHandler ); + + // If this is the last virtual mouse binding on the + // element, remove the binding data from the element. + + if ( !hasVirtualBindings( this ) ) { + $this.removeData( dataPropertyName ); + } + } + }; +} + +// Expose our custom events to the jQuery bind/unbind mechanism. + +for ( var i = 0; i < virtualEventNames.length; i++ ) { + $.event.special[ virtualEventNames[ i ] ] = getSpecialEventObject( virtualEventNames[ i ] ); +} + +// Add a capture click handler to block clicks. +// Note that we require event capture support for this so if the device +// doesn't support it, we punt for now and rely solely on mouse events. +if ( eventCaptureSupported ) { + document.addEventListener( "click", function( e ) { + var cnt = clickBlockList.length, + target = e.target, + x, y, ele, i, o, touchID; + + if ( cnt ) { + x = e.clientX; + y = e.clientY; + threshold = $.vmouse.clickDistanceThreshold; + + // The idea here is to run through the clickBlockList to see if + // the current click event is in the proximity of one of our + // vclick events that had preventDefault() called on it. If we find + // one, then we block the click. + // + // Why do we have to rely on proximity? + // + // Because the target of the touch event that triggered the vclick + // can be different from the target of the click event synthesized + // by the browser. The target of a mouse/click event that is syntehsized + // from a touch event seems to be implementation specific. For example, + // some browsers will fire mouse/click events for a link that is near + // a touch event, even though the target of the touchstart/touchend event + // says the user touched outside the link. Also, it seems that with most + // browsers, the target of the mouse/click event is not calculated until the + // time it is dispatched, so if you replace an element that you touched + // with another element, the target of the mouse/click will be the new + // element underneath that point. + // + // Aside from proximity, we also check to see if the target and any + // of its ancestors were the ones that blocked a click. This is necessary + // because of the strange mouse/click target calculation done in the + // Android 2.1 browser, where if you click on an element, and there is a + // mouse/click handler on one of its ancestors, the target will be the + // innermost child of the touched element, even if that child is no where + // near the point of touch. + + ele = target; + + while ( ele ) { + for ( i = 0; i < cnt; i++ ) { + o = clickBlockList[ i ]; + touchID = 0; + + if ( ( ele === target && Math.abs( o.x - x ) < threshold && Math.abs( o.y - y ) < threshold ) || + $.data( ele, touchTargetPropertyName ) === o.touchID ) { + // XXX: We may want to consider removing matches from the block list + // instead of waiting for the reset timer to fire. + e.preventDefault(); + e.stopPropagation(); + return; + } + } + ele = ele.parentNode; + } + } + }, true); +} +})( jQuery, window, document ); + + +(function( $, window, undefined ) { + var $document = $( document ); + + // add new event shortcuts + $.each( ( "touchstart touchmove touchend " + + "tap taphold " + + "swipe swipeleft swiperight " + + "scrollstart scrollstop" ).split( " " ), function( i, name ) { + + $.fn[ name ] = function( fn ) { + return fn ? this.bind( name, fn ) : this.trigger( name ); + }; + + // jQuery < 1.8 + if ( $.attrFn ) { + $.attrFn[ name ] = true; + } + }); + + var supportTouch = $.mobile.support.touch, + scrollEvent = "touchmove scroll", + touchStartEvent = supportTouch ? "touchstart" : "mousedown", + touchStopEvent = supportTouch ? "touchend" : "mouseup", + touchMoveEvent = supportTouch ? "touchmove" : "mousemove"; + + function triggerCustomEvent( obj, eventType, event ) { + var originalType = event.type; + event.type = eventType; + $.event.dispatch.call( obj, event ); + event.type = originalType; + } + + // also handles scrollstop + $.event.special.scrollstart = { + + enabled: true, + + setup: function() { + + var thisObject = this, + $this = $( thisObject ), + scrolling, + timer; + + function trigger( event, state ) { + scrolling = state; + triggerCustomEvent( thisObject, scrolling ? "scrollstart" : "scrollstop", event ); + } + + // iPhone triggers scroll after a small delay; use touchmove instead + $this.bind( scrollEvent, function( event ) { + + if ( !$.event.special.scrollstart.enabled ) { + return; + } + + if ( !scrolling ) { + trigger( event, true ); + } + + clearTimeout( timer ); + timer = setTimeout( function() { + trigger( event, false ); + }, 50 ); + }); + } + }; + + // also handles taphold + $.event.special.tap = { + tapholdThreshold: 750, + + setup: function() { + var thisObject = this, + $this = $( thisObject ); + + $this.bind( "vmousedown", function( event ) { + + if ( event.which && event.which !== 1 ) { + return false; + } + + var origTarget = event.target, + origEvent = event.originalEvent, + timer; + + function clearTapTimer() { + clearTimeout( timer ); + } + + function clearTapHandlers() { + clearTapTimer(); + + $this.unbind( "vclick", clickHandler ) + .unbind( "vmouseup", clearTapTimer ); + $document.unbind( "vmousecancel", clearTapHandlers ); + } + + function clickHandler( event ) { + clearTapHandlers(); + + // ONLY trigger a 'tap' event if the start target is + // the same as the stop target. + if ( origTarget === event.target ) { + triggerCustomEvent( thisObject, "tap", event ); + } + } + + $this.bind( "vmouseup", clearTapTimer ) + .bind( "vclick", clickHandler ); + $document.bind( "vmousecancel", clearTapHandlers ); + + timer = setTimeout( function() { + triggerCustomEvent( thisObject, "taphold", $.Event( "taphold", { target: origTarget } ) ); + }, $.event.special.tap.tapholdThreshold ); + }); + } + }; + + // also handles swipeleft, swiperight + $.event.special.swipe = { + scrollSupressionThreshold: 30, // More than this horizontal displacement, and we will suppress scrolling. + + durationThreshold: 1000, // More time than this, and it isn't a swipe. + + horizontalDistanceThreshold: 30, // Swipe horizontal displacement must be more than this. + + verticalDistanceThreshold: 75, // Swipe vertical displacement must be less than this. + + start: function( event ) { + var data = event.originalEvent.touches ? + event.originalEvent.touches[ 0 ] : event; + return { + time: ( new Date() ).getTime(), + coords: [ data.pageX, data.pageY ], + origin: $( event.target ) + }; + }, + + stop: function( event ) { + var data = event.originalEvent.touches ? + event.originalEvent.touches[ 0 ] : event; + return { + time: ( new Date() ).getTime(), + coords: [ data.pageX, data.pageY ] + }; + }, + + handleSwipe: function( start, stop ) { + if ( stop.time - start.time < $.event.special.swipe.durationThreshold && + Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold && + Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) { + + start.origin.trigger( "swipe" ) + .trigger( start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight" ); + } + }, + + setup: function() { + var thisObject = this, + $this = $( thisObject ); + + $this.bind( touchStartEvent, function( event ) { + var start = $.event.special.swipe.start( event ), + stop; + + function moveHandler( event ) { + if ( !start ) { + return; + } + + stop = $.event.special.swipe.stop( event ); + + // prevent scrolling + if ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) { + event.preventDefault(); + } + } + + $this.bind( touchMoveEvent, moveHandler ) + .one( touchStopEvent, function() { + $this.unbind( touchMoveEvent, moveHandler ); + + if ( start && stop ) { + $.event.special.swipe.handleSwipe( start, stop ); + } + start = stop = undefined; + }); + }); + } + }; + $.each({ + scrollstop: "scrollstart", + taphold: "tap", + swipeleft: "swipe", + swiperight: "swipe" + }, function( event, sourceEvent ) { + + $.event.special[ event ] = { + setup: function() { + $( this ).bind( sourceEvent, $.noop ); + } + }; + }); + +})( jQuery, this ); + + + // throttled resize event + (function( $ ) { + $.event.special.throttledresize = { + setup: function() { + $( this ).bind( "resize", handler ); + }, + teardown: function() { + $( this ).unbind( "resize", handler ); + } + }; + + var throttle = 250, + handler = function() { + curr = ( new Date() ).getTime(); + diff = curr - lastCall; + + if ( diff >= throttle ) { + + lastCall = curr; + $( this ).trigger( "throttledresize" ); + + } else { + + if ( heldCall ) { + clearTimeout( heldCall ); + } + + // Promise a held call will still execute + heldCall = setTimeout( handler, throttle - diff ); + } + }, + lastCall = 0, + heldCall, + curr, + diff; + })( jQuery ); + +(function( $, window ) { + var win = $( window ), + event_name = "orientationchange", + special_event, + get_orientation, + last_orientation, + initial_orientation_is_landscape, + initial_orientation_is_default, + portrait_map = { "0": true, "180": true }; + + // It seems that some device/browser vendors use window.orientation values 0 and 180 to + // denote the "default" orientation. For iOS devices, and most other smart-phones tested, + // the default orientation is always "portrait", but in some Android and RIM based tablets, + // the default orientation is "landscape". The following code attempts to use the window + // dimensions to figure out what the current orientation is, and then makes adjustments + // to the to the portrait_map if necessary, so that we can properly decode the + // window.orientation value whenever get_orientation() is called. + // + // Note that we used to use a media query to figure out what the orientation the browser + // thinks it is in: + // + // initial_orientation_is_landscape = $.mobile.media("all and (orientation: landscape)"); + // + // but there was an iPhone/iPod Touch bug beginning with iOS 4.2, up through iOS 5.1, + // where the browser *ALWAYS* applied the landscape media query. This bug does not + // happen on iPad. + + if ( $.support.orientation ) { + + // Check the window width and height to figure out what the current orientation + // of the device is at this moment. Note that we've initialized the portrait map + // values to 0 and 180, *AND* we purposely check for landscape so that if we guess + // wrong, , we default to the assumption that portrait is the default orientation. + // We use a threshold check below because on some platforms like iOS, the iPhone + // form-factor can report a larger width than height if the user turns on the + // developer console. The actual threshold value is somewhat arbitrary, we just + // need to make sure it is large enough to exclude the developer console case. + + var ww = window.innerWidth || win.width(), + wh = window.innerHeight || win.height(), + landscape_threshold = 50; + + initial_orientation_is_landscape = ww > wh && ( ww - wh ) > landscape_threshold; + + + // Now check to see if the current window.orientation is 0 or 180. + initial_orientation_is_default = portrait_map[ window.orientation ]; + + // If the initial orientation is landscape, but window.orientation reports 0 or 180, *OR* + // if the initial orientation is portrait, but window.orientation reports 90 or -90, we + // need to flip our portrait_map values because landscape is the default orientation for + // this device/browser. + if ( ( initial_orientation_is_landscape && initial_orientation_is_default ) || ( !initial_orientation_is_landscape && !initial_orientation_is_default ) ) { + portrait_map = { "-90": true, "90": true }; + } + } + + $.event.special.orientationchange = $.extend( {}, $.event.special.orientationchange, { + setup: function() { + // If the event is supported natively, return false so that jQuery + // will bind to the event using DOM methods. + if ( $.support.orientation && !$.event.special.orientationchange.disabled ) { + return false; + } + + // Get the current orientation to avoid initial double-triggering. + last_orientation = get_orientation(); + + // Because the orientationchange event doesn't exist, simulate the + // event by testing window dimensions on resize. + win.bind( "throttledresize", handler ); + }, + teardown: function() { + // If the event is not supported natively, return false so that + // jQuery will unbind the event using DOM methods. + if ( $.support.orientation && !$.event.special.orientationchange.disabled ) { + return false; + } + + // Because the orientationchange event doesn't exist, unbind the + // resize event handler. + win.unbind( "throttledresize", handler ); + }, + add: function( handleObj ) { + // Save a reference to the bound event handler. + var old_handler = handleObj.handler; + + + handleObj.handler = function( event ) { + // Modify event object, adding the .orientation property. + event.orientation = get_orientation(); + + // Call the originally-bound event handler and return its result. + return old_handler.apply( this, arguments ); + }; + } + }); + + // If the event is not supported natively, this handler will be bound to + // the window resize event to simulate the orientationchange event. + function handler() { + // Get the current orientation. + var orientation = get_orientation(); + + if ( orientation !== last_orientation ) { + // The orientation has changed, so trigger the orientationchange event. + last_orientation = orientation; + win.trigger( event_name ); + } + } + + // Get the current page orientation. This method is exposed publicly, should it + // be needed, as jQuery.event.special.orientationchange.orientation() + $.event.special.orientationchange.orientation = get_orientation = function() { + var isPortrait = true, elem = document.documentElement; + + // prefer window orientation to the calculation based on screensize as + // the actual screen resize takes place before or after the orientation change event + // has been fired depending on implementation (eg android 2.3 is before, iphone after). + // More testing is required to determine if a more reliable method of determining the new screensize + // is possible when orientationchange is fired. (eg, use media queries + element + opacity) + if ( $.support.orientation ) { + // if the window orientation registers as 0 or 180 degrees report + // portrait, otherwise landscape + isPortrait = portrait_map[ window.orientation ]; + } else { + isPortrait = elem && elem.clientWidth / elem.clientHeight < 1.1; + } + + return isPortrait ? "portrait" : "landscape"; + }; + + $.fn[ event_name ] = function( fn ) { + return fn ? this.bind( event_name, fn ) : this.trigger( event_name ); + }; + + // jQuery < 1.8 + if ( $.attrFn ) { + $.attrFn[ event_name ] = true; + } + +}( jQuery, this )); + + + +(function( $, undefined ) { + +$.widget( "mobile.page", $.mobile.widget, { + options: { + theme: "c", + domCache: false, + keepNativeDefault: ":jqmData(role='none'), :jqmData(role='nojs')" + }, + + _create: function() { + // if false is returned by the callbacks do not create the page + if ( this._trigger( "beforecreate" ) === false ) { + return false; + } + + this.element + .attr( "tabindex", "0" ) + .addClass( "ui-page ui-body-" + this.options.theme ); + + this._on( this.element, { + pagebeforehide: "removeContainerBackground", + pagebeforeshow: "_handlePageBeforeShow" + }); + }, + + _handlePageBeforeShow: function( e ) { + this.setContainerBackground(); + }, + + removeContainerBackground: function() { + $.mobile.pageContainer.removeClass( "ui-overlay-" + $.mobile.getInheritedTheme( this.element.parent() ) ); + }, + + // set the page container background to the page theme + setContainerBackground: function( theme ) { + if ( this.options.theme ) { + $.mobile.pageContainer.addClass( "ui-overlay-" + ( theme || this.options.theme ) ); + } + }, + + keepNativeSelector: function() { + var options = this.options, + keepNativeDefined = options.keepNative && $.trim( options.keepNative ); + + if ( keepNativeDefined && options.keepNative !== options.keepNativeDefault ) { + return [options.keepNative, options.keepNativeDefault].join( ", " ); + } + + return options.keepNativeDefault; + } +}); +})( jQuery ); + +(function( $, window, undefined ) { + +var createHandler = function( sequential ) { + + // Default to sequential + if ( sequential === undefined ) { + sequential = true; + } + + return function( name, reverse, $to, $from ) { + + var deferred = new $.Deferred(), + reverseClass = reverse ? " reverse" : "", + active = $.mobile.urlHistory.getActive(), + toScroll = active.lastScroll || $.mobile.defaultHomeScroll, + screenHeight = $.mobile.getScreenHeight(), + maxTransitionOverride = $.mobile.maxTransitionWidth !== false && $.mobile.window.width() > $.mobile.maxTransitionWidth, + none = !$.support.cssTransitions || maxTransitionOverride || !name || name === "none" || Math.max( $.mobile.window.scrollTop(), toScroll ) > $.mobile.getMaxScrollForTransition(), + toPreClass = " ui-page-pre-in", + toggleViewportClass = function() { + $.mobile.pageContainer.toggleClass( "ui-mobile-viewport-transitioning viewport-" + name ); + }, + scrollPage = function() { + // By using scrollTo instead of silentScroll, we can keep things better in order + // Just to be precautios, disable scrollstart listening like silentScroll would + $.event.special.scrollstart.enabled = false; + + window.scrollTo( 0, toScroll ); + + // reenable scrollstart listening like silentScroll would + setTimeout( function() { + $.event.special.scrollstart.enabled = true; + }, 150 ); + }, + cleanFrom = function() { + $from + .removeClass( $.mobile.activePageClass + " out in reverse " + name ) + .height( "" ); + }, + startOut = function() { + // if it's not sequential, call the doneOut transition to start the TO page animating in simultaneously + if ( !sequential ) { + doneOut(); + } + else { + $from.animationComplete( doneOut ); + } + + // Set the from page's height and start it transitioning out + // Note: setting an explicit height helps eliminate tiling in the transitions + $from + .height( screenHeight + $.mobile.window.scrollTop() ) + .addClass( name + " out" + reverseClass ); + }, + + doneOut = function() { + + if ( $from && sequential ) { + cleanFrom(); + } + + startIn(); + }, + + startIn = function() { + + // Prevent flickering in phonegap container: see comments at #4024 regarding iOS + $to.css( "z-index", -10 ); + + $to.addClass( $.mobile.activePageClass + toPreClass ); + + // Send focus to page as it is now display: block + $.mobile.focusPage( $to ); + + // Set to page height + $to.height( screenHeight + toScroll ); + + scrollPage(); + + // Restores visibility of the new page: added together with $to.css( "z-index", -10 ); + $to.css( "z-index", "" ); + + if ( !none ) { + $to.animationComplete( doneIn ); + } + + $to + .removeClass( toPreClass ) + .addClass( name + " in" + reverseClass ); + + if ( none ) { + doneIn(); + } + + }, + + doneIn = function() { + + if ( !sequential ) { + + if ( $from ) { + cleanFrom(); + } + } + + $to + .removeClass( "out in reverse " + name ) + .height( "" ); + + toggleViewportClass(); + + // In some browsers (iOS5), 3D transitions block the ability to scroll to the desired location during transition + // This ensures we jump to that spot after the fact, if we aren't there already. + if ( $.mobile.window.scrollTop() !== toScroll ) { + scrollPage(); + } + + deferred.resolve( name, reverse, $to, $from, true ); + }; + + toggleViewportClass(); + + if ( $from && !none ) { + startOut(); + } + else { + doneOut(); + } + + return deferred.promise(); + }; +}; + +// generate the handlers from the above +var sequentialHandler = createHandler(), + simultaneousHandler = createHandler( false ), + defaultGetMaxScrollForTransition = function() { + return $.mobile.getScreenHeight() * 3; + }; + +// Make our transition handler the public default. +$.mobile.defaultTransitionHandler = sequentialHandler; + +//transition handler dictionary for 3rd party transitions +$.mobile.transitionHandlers = { + "default": $.mobile.defaultTransitionHandler, + "sequential": sequentialHandler, + "simultaneous": simultaneousHandler +}; + +$.mobile.transitionFallbacks = {}; + +// If transition is defined, check if css 3D transforms are supported, and if not, if a fallback is specified +$.mobile._maybeDegradeTransition = function( transition ) { + if ( transition && !$.support.cssTransform3d && $.mobile.transitionFallbacks[ transition ] ) { + transition = $.mobile.transitionFallbacks[ transition ]; + } + + return transition; +}; + +// Set the getMaxScrollForTransition to default if no implementation was set by user +$.mobile.getMaxScrollForTransition = $.mobile.getMaxScrollForTransition || defaultGetMaxScrollForTransition; +})( jQuery, this ); + +(function( $, undefined ) { + + //define vars for interal use + var $window = $.mobile.window, + $html = $( 'html' ), + $head = $( 'head' ), + + // NOTE: path extensions dependent on core attributes. Moved here to remove deps from + // $.mobile.path definition + path = $.extend($.mobile.path, { + + //return the substring of a filepath before the sub-page key, for making a server request + getFilePath: function( path ) { + var splitkey = '&' + $.mobile.subPageUrlKey; + return path && path.split( splitkey )[0].split( dialogHashKey )[0]; + }, + + //check if the specified url refers to the first page in the main application document. + isFirstPageUrl: function( url ) { + // We only deal with absolute paths. + var u = path.parseUrl( path.makeUrlAbsolute( url, this.documentBase ) ), + + // Does the url have the same path as the document? + samePath = u.hrefNoHash === this.documentUrl.hrefNoHash || ( this.documentBaseDiffers && u.hrefNoHash === this.documentBase.hrefNoHash ), + + // Get the first page element. + fp = $.mobile.firstPage, + + // Get the id of the first page element if it has one. + fpId = fp && fp[0] ? fp[0].id : undefined; + + // The url refers to the first page if the path matches the document and + // it either has no hash value, or the hash is exactly equal to the id of the + // first page element. + return samePath && ( !u.hash || u.hash === "#" || ( fpId && u.hash.replace( /^#/, "" ) === fpId ) ); + }, + + // Some embedded browsers, like the web view in Phone Gap, allow cross-domain XHR + // requests if the document doing the request was loaded via the file:// protocol. + // This is usually to allow the application to "phone home" and fetch app specific + // data. We normally let the browser handle external/cross-domain urls, but if the + // allowCrossDomainPages option is true, we will allow cross-domain http/https + // requests to go through our page loading logic. + isPermittedCrossDomainRequest: function( docUrl, reqUrl ) { + return $.mobile.allowCrossDomainPages && + docUrl.protocol === "file:" && + reqUrl.search( /^https?:/ ) !== -1; + } + }), + + // used to track last vclicked element to make sure its value is added to form data + $lastVClicked = null, + + //will be defined when a link is clicked and given an active class + $activeClickedLink = null, + + // resolved on domready + domreadyDeferred = $.Deferred(), + + //urlHistory is purely here to make guesses at whether the back or forward button was clicked + //and provide an appropriate transition + urlHistory = $.mobile.navigate.history, + + //define first selector to receive focus when a page is shown + focusable = "[tabindex],a,button:visible,select:visible,input", + + //queue to hold simultanious page transitions + pageTransitionQueue = [], + + //indicates whether or not page is in process of transitioning + isPageTransitioning = false, + + //nonsense hash change key for dialogs, so they create a history entry + dialogHashKey = "&ui-state=dialog", + + //existing base tag? + $base = $head.children( "base" ), + + //tuck away the original document URL minus any fragment. + documentUrl = path.documentUrl, + + //if the document has an embedded base tag, documentBase is set to its + //initial value. If a base tag does not exist, then we default to the documentUrl. + documentBase = path.documentBase, + + //cache the comparison once. + documentBaseDiffers = path.documentBaseDiffers, + + getScreenHeight = $.mobile.getScreenHeight; + + //base element management, defined depending on dynamic base tag support + var base = $.support.dynamicBaseTag ? { + + //define base element, for use in routing asset urls that are referenced in Ajax-requested markup + element: ( $base.length ? $base : $( "", { href: documentBase.hrefNoHash } ).prependTo( $head ) ), + + //set the generated BASE element's href attribute to a new page's base path + set: function( href ) { + href = path.parseUrl(href).hrefNoHash; + base.element.attr( "href", path.makeUrlAbsolute( href, documentBase ) ); + }, + + //set the generated BASE element's href attribute to a new page's base path + reset: function() { + base.element.attr( "href", documentBase.hrefNoSearch ); + } + + } : undefined; + + + //return the original document url + $.mobile.getDocumentUrl = path.getDocumentUrl; + + //return the original document base url + $.mobile.getDocumentBase = path.getDocumentBase; + + /* internal utility functions */ + + // NOTE Issue #4950 Android phonegap doesn't navigate back properly + // when a full page refresh has taken place. It appears that hashchange + // and replacestate history alterations work fine but we need to support + // both forms of history traversal in our code that uses backward history + // movement + $.mobile.back = function() { + var nav = window.navigator; + + // if the setting is on and the navigator object is + // available use the phonegap navigation capability + if( this.phonegapNavigationEnabled && + nav && + nav.app && + nav.app.backHistory ){ + nav.app.backHistory(); + } else { + window.history.back(); + } + }; + + //direct focus to the page title, or otherwise first focusable element + $.mobile.focusPage = function ( page ) { + var autofocus = page.find( "[autofocus]" ), + pageTitle = page.find( ".ui-title:eq(0)" ); + + if ( autofocus.length ) { + autofocus.focus(); + return; + } + + if ( pageTitle.length ) { + pageTitle.focus(); + } else{ + page.focus(); + } + }; + + //remove active classes after page transition or error + function removeActiveLinkClass( forceRemoval ) { + if ( !!$activeClickedLink && ( !$activeClickedLink.closest( "." + $.mobile.activePageClass ).length || forceRemoval ) ) { + $activeClickedLink.removeClass( $.mobile.activeBtnClass ); + } + $activeClickedLink = null; + } + + function releasePageTransitionLock() { + isPageTransitioning = false; + if ( pageTransitionQueue.length > 0 ) { + $.mobile.changePage.apply( null, pageTransitionQueue.pop() ); + } + } + + // Save the last scroll distance per page, before it is hidden + var setLastScrollEnabled = true, + setLastScroll, delayedSetLastScroll; + + setLastScroll = function() { + // this barrier prevents setting the scroll value based on the browser + // scrolling the window based on a hashchange + if ( !setLastScrollEnabled ) { + return; + } + + var active = $.mobile.urlHistory.getActive(); + + if ( active ) { + var lastScroll = $window.scrollTop(); + + // Set active page's lastScroll prop. + // If the location we're scrolling to is less than minScrollBack, let it go. + active.lastScroll = lastScroll < $.mobile.minScrollBack ? $.mobile.defaultHomeScroll : lastScroll; + } + }; + + // bind to scrollstop to gather scroll position. The delay allows for the hashchange + // event to fire and disable scroll recording in the case where the browser scrolls + // to the hash targets location (sometimes the top of the page). once pagechange fires + // getLastScroll is again permitted to operate + delayedSetLastScroll = function() { + setTimeout( setLastScroll, 100 ); + }; + + // disable an scroll setting when a hashchange has been fired, this only works + // because the recording of the scroll position is delayed for 100ms after + // the browser might have changed the position because of the hashchange + $window.bind( $.support.pushState ? "popstate" : "hashchange", function() { + setLastScrollEnabled = false; + }); + + // handle initial hashchange from chrome :( + $window.one( $.support.pushState ? "popstate" : "hashchange", function() { + setLastScrollEnabled = true; + }); + + // wait until the mobile page container has been determined to bind to pagechange + $window.one( "pagecontainercreate", function() { + // once the page has changed, re-enable the scroll recording + $.mobile.pageContainer.bind( "pagechange", function() { + + setLastScrollEnabled = true; + + // remove any binding that previously existed on the get scroll + // which may or may not be different than the scroll element determined for + // this page previously + $window.unbind( "scrollstop", delayedSetLastScroll ); + + // determine and bind to the current scoll element which may be the window + // or in the case of touch overflow the element with touch overflow + $window.bind( "scrollstop", delayedSetLastScroll ); + }); + }); + + // bind to scrollstop for the first page as "pagechange" won't be fired in that case + $window.bind( "scrollstop", delayedSetLastScroll ); + + // No-op implementation of transition degradation + $.mobile._maybeDegradeTransition = $.mobile._maybeDegradeTransition || function( transition ) { + return transition; + }; + + //function for transitioning between two existing pages + function transitionPages( toPage, fromPage, transition, reverse ) { + if ( fromPage ) { + //trigger before show/hide events + fromPage.data( "mobile-page" )._trigger( "beforehide", null, { nextPage: toPage } ); + } + + toPage.data( "mobile-page" )._trigger( "beforeshow", null, { prevPage: fromPage || $( "" ) } ); + + //clear page loader + $.mobile.hidePageLoadingMsg(); + + transition = $.mobile._maybeDegradeTransition( transition ); + + //find the transition handler for the specified transition. If there + //isn't one in our transitionHandlers dictionary, use the default one. + //call the handler immediately to kick-off the transition. + var th = $.mobile.transitionHandlers[ transition || "default" ] || $.mobile.defaultTransitionHandler, + promise = th( transition, reverse, toPage, fromPage ); + + promise.done(function() { + //trigger show/hide events + if ( fromPage ) { + fromPage.data( "mobile-page" )._trigger( "hide", null, { nextPage: toPage } ); + } + + //trigger pageshow, define prevPage as either fromPage or empty jQuery obj + toPage.data( "mobile-page" )._trigger( "show", null, { prevPage: fromPage || $( "" ) } ); + }); + + return promise; + } + + //simply set the active page's minimum height to screen height, depending on orientation + $.mobile.resetActivePageHeight = function resetActivePageHeight( height ) { + var aPage = $( "." + $.mobile.activePageClass ), + aPagePadT = parseFloat( aPage.css( "padding-top" ) ), + aPagePadB = parseFloat( aPage.css( "padding-bottom" ) ), + aPageBorderT = parseFloat( aPage.css( "border-top-width" ) ), + aPageBorderB = parseFloat( aPage.css( "border-bottom-width" ) ); + + height = ( typeof height === "number" )? height : getScreenHeight(); + + aPage.css( "min-height", height - aPagePadT - aPagePadB - aPageBorderT - aPageBorderB ); + }; + + //shared page enhancements + function enhancePage( $page, role ) { + // If a role was specified, make sure the data-role attribute + // on the page element is in sync. + if ( role ) { + $page.attr( "data-" + $.mobile.ns + "role", role ); + } + + //run page plugin + $page.page(); + } + + // determine the current base url + function findBaseWithDefault() { + var closestBase = ( $.mobile.activePage && getClosestBaseUrl( $.mobile.activePage ) ); + return closestBase || documentBase.hrefNoHash; + } + + /* exposed $.mobile methods */ + + //animation complete callback + $.fn.animationComplete = function( callback ) { + if ( $.support.cssTransitions ) { + return $( this ).one( 'webkitAnimationEnd animationend', callback ); + } + else{ + // defer execution for consistency between webkit/non webkit + setTimeout( callback, 0 ); + return $( this ); + } + }; + + //expose path object on $.mobile + $.mobile.path = path; + + //expose base object on $.mobile + $.mobile.base = base; + + //history stack + $.mobile.urlHistory = urlHistory; + + $.mobile.dialogHashKey = dialogHashKey; + + //enable cross-domain page support + $.mobile.allowCrossDomainPages = false; + + $.mobile._bindPageRemove = function() { + var page = $( this ); + + // when dom caching is not enabled or the page is embedded bind to remove the page on hide + if ( !page.data( "mobile-page" ).options.domCache && + page.is( ":jqmData(external-page='true')" ) ) { + + page.bind( 'pagehide.remove', function( e ) { + var $this = $( this ), + prEvent = new $.Event( "pageremove" ); + + $this.trigger( prEvent ); + + if ( !prEvent.isDefaultPrevented() ) { + $this.removeWithDependents(); + } + }); + } + }; + + // Load a page into the DOM. + $.mobile.loadPage = function( url, options ) { + // This function uses deferred notifications to let callers + // know when the page is done loading, or if an error has occurred. + var deferred = $.Deferred(), + + // The default loadPage options with overrides specified by + // the caller. + settings = $.extend( {}, $.mobile.loadPage.defaults, options ), + + // The DOM element for the page after it has been loaded. + page = null, + + // If the reloadPage option is true, and the page is already + // in the DOM, dupCachedPage will be set to the page element + // so that it can be removed after the new version of the + // page is loaded off the network. + dupCachedPage = null, + + // The absolute version of the URL passed into the function. This + // version of the URL may contain dialog/subpage params in it. + absUrl = path.makeUrlAbsolute( url, findBaseWithDefault() ); + + // If the caller provided data, and we're using "get" request, + // append the data to the URL. + if ( settings.data && settings.type === "get" ) { + absUrl = path.addSearchParams( absUrl, settings.data ); + settings.data = undefined; + } + + // If the caller is using a "post" request, reloadPage must be true + if ( settings.data && settings.type === "post" ) { + settings.reloadPage = true; + } + + // The absolute version of the URL minus any dialog/subpage params. + // In otherwords the real URL of the page to be loaded. + var fileUrl = path.getFilePath( absUrl ), + + // The version of the Url actually stored in the data-url attribute of + // the page. For embedded pages, it is just the id of the page. For pages + // within the same domain as the document base, it is the site relative + // path. For cross-domain pages (Phone Gap only) the entire absolute Url + // used to load the page. + dataUrl = path.convertUrlToDataUrl( absUrl ); + + // Make sure we have a pageContainer to work with. + settings.pageContainer = settings.pageContainer || $.mobile.pageContainer; + + // Check to see if the page already exists in the DOM. + // NOTE do _not_ use the :jqmData psuedo selector because parenthesis + // are a valid url char and it breaks on the first occurence + page = settings.pageContainer.children( "[data-" + $.mobile.ns +"url='" + dataUrl + "']" ); + + // If we failed to find the page, check to see if the url is a + // reference to an embedded page. If so, it may have been dynamically + // injected by a developer, in which case it would be lacking a data-url + // attribute and in need of enhancement. + if ( page.length === 0 && dataUrl && !path.isPath( dataUrl ) ) { + page = settings.pageContainer.children( "#" + dataUrl ) + .attr( "data-" + $.mobile.ns + "url", dataUrl ) + .jqmData( "url", dataUrl ); + } + + // If we failed to find a page in the DOM, check the URL to see if it + // refers to the first page in the application. If it isn't a reference + // to the first page and refers to non-existent embedded page, error out. + if ( page.length === 0 ) { + if ( $.mobile.firstPage && path.isFirstPageUrl( fileUrl ) ) { + // Check to make sure our cached-first-page is actually + // in the DOM. Some user deployed apps are pruning the first + // page from the DOM for various reasons, we check for this + // case here because we don't want a first-page with an id + // falling through to the non-existent embedded page error + // case. If the first-page is not in the DOM, then we let + // things fall through to the ajax loading code below so + // that it gets reloaded. + if ( $.mobile.firstPage.parent().length ) { + page = $( $.mobile.firstPage ); + } + } else if ( path.isEmbeddedPage( fileUrl ) ) { + deferred.reject( absUrl, options ); + return deferred.promise(); + } + } + + // If the page we are interested in is already in the DOM, + // and the caller did not indicate that we should force a + // reload of the file, we are done. Otherwise, track the + // existing page as a duplicated. + if ( page.length ) { + if ( !settings.reloadPage ) { + enhancePage( page, settings.role ); + deferred.resolve( absUrl, options, page ); + return deferred.promise(); + } + dupCachedPage = page; + } + + var mpc = settings.pageContainer, + pblEvent = new $.Event( "pagebeforeload" ), + triggerData = { url: url, absUrl: absUrl, dataUrl: dataUrl, deferred: deferred, options: settings }; + + // Let listeners know we're about to load a page. + mpc.trigger( pblEvent, triggerData ); + + // If the default behavior is prevented, stop here! + if ( pblEvent.isDefaultPrevented() ) { + return deferred.promise(); + } + + if ( settings.showLoadMsg ) { + + // This configurable timeout allows cached pages a brief delay to load without showing a message + var loadMsgDelay = setTimeout(function() { + $.mobile.showPageLoadingMsg(); + }, settings.loadMsgDelay ), + + // Shared logic for clearing timeout and removing message. + hideMsg = function() { + + // Stop message show timer + clearTimeout( loadMsgDelay ); + + // Hide loading message + $.mobile.hidePageLoadingMsg(); + }; + } + + // Reset base to the default document base. + if ( base ) { + base.reset(); + } + + if ( !( $.mobile.allowCrossDomainPages || path.isSameDomain( documentUrl, absUrl ) ) ) { + deferred.reject( absUrl, options ); + } else { + // Load the new page. + $.ajax({ + url: fileUrl, + type: settings.type, + data: settings.data, + dataType: "html", + success: function( html, textStatus, xhr ) { + //pre-parse html to check for a data-url, + //use it as the new fileUrl, base path, etc + var all = $( "
    " ), + + //page title regexp + newPageTitle = html.match( /]*>([^<]*)/ ) && RegExp.$1, + + // TODO handle dialogs again + pageElemRegex = new RegExp( "(<[^>]+\\bdata-" + $.mobile.ns + "role=[\"']?page[\"']?[^>]*>)" ), + dataUrlRegex = new RegExp( "\\bdata-" + $.mobile.ns + "url=[\"']?([^\"'>]*)[\"']?" ); + + + // data-url must be provided for the base tag so resource requests can be directed to the + // correct url. loading into a temprorary element makes these requests immediately + if ( pageElemRegex.test( html ) && + RegExp.$1 && + dataUrlRegex.test( RegExp.$1 ) && + RegExp.$1 ) { + url = fileUrl = path.getFilePath( $( "
    " + RegExp.$1 + "
    " ).text() ); + } + + if ( base ) { + base.set( fileUrl ); + } + + //workaround to allow scripts to execute when included in page divs + all.get( 0 ).innerHTML = html; + page = all.find( ":jqmData(role='page'), :jqmData(role='dialog')" ).first(); + + //if page elem couldn't be found, create one and insert the body element's contents + if ( !page.length ) { + page = $( "
    " + ( html.split( /<\/?body[^>]*>/gmi )[1] || "" ) + "
    " ); + } + + if ( newPageTitle && !page.jqmData( "title" ) ) { + if ( ~newPageTitle.indexOf( "&" ) ) { + newPageTitle = $( "
    " + newPageTitle + "
    " ).text(); + } + page.jqmData( "title", newPageTitle ); + } + + //rewrite src and href attrs to use a base url + if ( !$.support.dynamicBaseTag ) { + var newPath = path.get( fileUrl ); + page.find( "[src], link[href], a[rel='external'], :jqmData(ajax='false'), a[target]" ).each(function() { + var thisAttr = $( this ).is( '[href]' ) ? 'href' : + $( this ).is( '[src]' ) ? 'src' : 'action', + thisUrl = $( this ).attr( thisAttr ); + + // XXX_jblas: We need to fix this so that it removes the document + // base URL, and then prepends with the new page URL. + //if full path exists and is same, chop it - helps IE out + thisUrl = thisUrl.replace( location.protocol + '//' + location.host + location.pathname, '' ); + + if ( !/^(\w+:|#|\/)/.test( thisUrl ) ) { + $( this ).attr( thisAttr, newPath + thisUrl ); + } + }); + } + + //append to page and enhance + // TODO taging a page with external to make sure that embedded pages aren't removed + // by the various page handling code is bad. Having page handling code in many + // places is bad. Solutions post 1.0 + page + .attr( "data-" + $.mobile.ns + "url", path.convertUrlToDataUrl( fileUrl ) ) + .attr( "data-" + $.mobile.ns + "external-page", true ) + .appendTo( settings.pageContainer ); + + // wait for page creation to leverage options defined on widget + page.one( 'pagecreate', $.mobile._bindPageRemove ); + + enhancePage( page, settings.role ); + + // Enhancing the page may result in new dialogs/sub pages being inserted + // into the DOM. If the original absUrl refers to a sub-page, that is the + // real page we are interested in. + if ( absUrl.indexOf( "&" + $.mobile.subPageUrlKey ) > -1 ) { + page = settings.pageContainer.children( "[data-" + $.mobile.ns +"url='" + dataUrl + "']" ); + } + + // Remove loading message. + if ( settings.showLoadMsg ) { + hideMsg(); + } + + // Add the page reference and xhr to our triggerData. + triggerData.xhr = xhr; + triggerData.textStatus = textStatus; + triggerData.page = page; + + // Let listeners know the page loaded successfully. + settings.pageContainer.trigger( "pageload", triggerData ); + + deferred.resolve( absUrl, options, page, dupCachedPage ); + }, + error: function( xhr, textStatus, errorThrown ) { + //set base back to current path + if ( base ) { + base.set( path.get() ); + } + + // Add error info to our triggerData. + triggerData.xhr = xhr; + triggerData.textStatus = textStatus; + triggerData.errorThrown = errorThrown; + + var plfEvent = new $.Event( "pageloadfailed" ); + + // Let listeners know the page load failed. + settings.pageContainer.trigger( plfEvent, triggerData ); + + // If the default behavior is prevented, stop here! + // Note that it is the responsibility of the listener/handler + // that called preventDefault(), to resolve/reject the + // deferred object within the triggerData. + if ( plfEvent.isDefaultPrevented() ) { + return; + } + + // Remove loading message. + if ( settings.showLoadMsg ) { + + // Remove loading message. + hideMsg(); + + // show error message + $.mobile.showPageLoadingMsg( $.mobile.pageLoadErrorMessageTheme, $.mobile.pageLoadErrorMessage, true ); + + // hide after delay + setTimeout( $.mobile.hidePageLoadingMsg, 1500 ); + } + + deferred.reject( absUrl, options ); + } + }); + } + + return deferred.promise(); + }; + + $.mobile.loadPage.defaults = { + type: "get", + data: undefined, + reloadPage: false, + role: undefined, // By default we rely on the role defined by the @data-role attribute. + showLoadMsg: false, + pageContainer: undefined, + loadMsgDelay: 50 // This delay allows loads that pull from browser cache to occur without showing the loading message. + }; + + // Show a specific page in the page container. + $.mobile.changePage = function( toPage, options ) { + // If we are in the midst of a transition, queue the current request. + // We'll call changePage() once we're done with the current transition to + // service the request. + if ( isPageTransitioning ) { + pageTransitionQueue.unshift( arguments ); + return; + } + + var settings = $.extend( {}, $.mobile.changePage.defaults, options ), isToPageString; + + // Make sure we have a pageContainer to work with. + settings.pageContainer = settings.pageContainer || $.mobile.pageContainer; + + // Make sure we have a fromPage. + settings.fromPage = settings.fromPage || $.mobile.activePage; + + isToPageString = (typeof toPage === "string"); + + var mpc = settings.pageContainer, + pbcEvent = new $.Event( "pagebeforechange" ), + triggerData = { toPage: toPage, options: settings }; + + // NOTE: preserve the original target as the dataUrl value will be simplified + // eg, removing ui-state, and removing query params from the hash + // this is so that users who want to use query params have access to them + // in the event bindings for the page life cycle See issue #5085 + if ( isToPageString ) { + // if the toPage is a string simply convert it + triggerData.absUrl = path.makeUrlAbsolute( toPage, findBaseWithDefault() ); + } else { + // if the toPage is a jQuery object grab the absolute url stored + // in the loadPage callback where it exists + triggerData.absUrl = toPage.data( 'absUrl' ); + } + + // Let listeners know we're about to change the current page. + mpc.trigger( pbcEvent, triggerData ); + + // If the default behavior is prevented, stop here! + if ( pbcEvent.isDefaultPrevented() ) { + return; + } + + // We allow "pagebeforechange" observers to modify the toPage in the trigger + // data to allow for redirects. Make sure our toPage is updated. + // + // We also need to re-evaluate whether it is a string, because an object can + // also be replaced by a string + + toPage = triggerData.toPage; + isToPageString = (typeof toPage === "string"); + + // Set the isPageTransitioning flag to prevent any requests from + // entering this method while we are in the midst of loading a page + // or transitioning. + isPageTransitioning = true; + + // If the caller passed us a url, call loadPage() + // to make sure it is loaded into the DOM. We'll listen + // to the promise object it returns so we know when + // it is done loading or if an error ocurred. + if ( isToPageString ) { + // preserve the original target as the dataUrl value will be simplified + // eg, removing ui-state, and removing query params from the hash + // this is so that users who want to use query params have access to them + // in the event bindings for the page life cycle See issue #5085 + settings.target = toPage; + + $.mobile.loadPage( toPage, settings ) + .done(function( url, options, newPage, dupCachedPage ) { + isPageTransitioning = false; + options.duplicateCachedPage = dupCachedPage; + + // store the original absolute url so that it can be provided + // to events in the triggerData of the subsequent changePage call + newPage.data( 'absUrl', triggerData.absUrl ); + $.mobile.changePage( newPage, options ); + }) + .fail(function( url, options ) { + isPageTransitioning = false; + + //clear out the active button state + removeActiveLinkClass( true ); + + //release transition lock so navigation is free again + releasePageTransitionLock(); + settings.pageContainer.trigger( "pagechangefailed", triggerData ); + }); + return; + } + + // If we are going to the first-page of the application, we need to make + // sure settings.dataUrl is set to the application document url. This allows + // us to avoid generating a document url with an id hash in the case where the + // first-page of the document has an id attribute specified. + if ( toPage[ 0 ] === $.mobile.firstPage[ 0 ] && !settings.dataUrl ) { + settings.dataUrl = documentUrl.hrefNoHash; + } + + // The caller passed us a real page DOM element. Update our + // internal state and then trigger a transition to the page. + var fromPage = settings.fromPage, + url = ( settings.dataUrl && path.convertUrlToDataUrl( settings.dataUrl ) ) || toPage.jqmData( "url" ), + // The pageUrl var is usually the same as url, except when url is obscured as a dialog url. pageUrl always contains the file path + pageUrl = url, + fileUrl = path.getFilePath( url ), + active = urlHistory.getActive(), + activeIsInitialPage = urlHistory.activeIndex === 0, + historyDir = 0, + pageTitle = document.title, + isDialog = settings.role === "dialog" || toPage.jqmData( "role" ) === "dialog"; + + + // By default, we prevent changePage requests when the fromPage and toPage + // are the same element, but folks that generate content manually/dynamically + // and reuse pages want to be able to transition to the same page. To allow + // this, they will need to change the default value of allowSamePageTransition + // to true, *OR*, pass it in as an option when they manually call changePage(). + // It should be noted that our default transition animations assume that the + // formPage and toPage are different elements, so they may behave unexpectedly. + // It is up to the developer that turns on the allowSamePageTransitiona option + // to either turn off transition animations, or make sure that an appropriate + // animation transition is used. + if ( fromPage && fromPage[0] === toPage[0] && !settings.allowSamePageTransition ) { + isPageTransitioning = false; + mpc.trigger( "pagechange", triggerData ); + + // Even if there is no page change to be done, we should keep the urlHistory in sync with the hash changes + if ( settings.fromHashChange ) { + urlHistory.direct({ url: url }); + } + + return; + } + + // We need to make sure the page we are given has already been enhanced. + enhancePage( toPage, settings.role ); + + // If the changePage request was sent from a hashChange event, check to see if the + // page is already within the urlHistory stack. If so, we'll assume the user hit + // the forward/back button and will try to match the transition accordingly. + if ( settings.fromHashChange ) { + historyDir = options.direction === "back" ? -1 : 1; + } + + // Kill the keyboard. + // XXX_jblas: We need to stop crawling the entire document to kill focus. Instead, + // we should be tracking focus with a delegate() handler so we already have + // the element in hand at this point. + // Wrap this in a try/catch block since IE9 throw "Unspecified error" if document.activeElement + // is undefined when we are in an IFrame. + try { + if ( document.activeElement && document.activeElement.nodeName.toLowerCase() !== 'body' ) { + $( document.activeElement ).blur(); + } else { + $( "input:focus, textarea:focus, select:focus" ).blur(); + } + } catch( e ) {} + + // Record whether we are at a place in history where a dialog used to be - if so, do not add a new history entry and do not change the hash either + var alreadyThere = false; + + // If we're displaying the page as a dialog, we don't want the url + // for the dialog content to be used in the hash. Instead, we want + // to append the dialogHashKey to the url of the current page. + if ( isDialog && active ) { + // on the initial page load active.url is undefined and in that case should + // be an empty string. Moving the undefined -> empty string back into + // urlHistory.addNew seemed imprudent given undefined better represents + // the url state + + // If we are at a place in history that once belonged to a dialog, reuse + // this state without adding to urlHistory and without modifying the hash. + // However, if a dialog is already displayed at this point, and we're + // about to display another dialog, then we must add another hash and + // history entry on top so that one may navigate back to the original dialog + if ( active.url && + active.url.indexOf( dialogHashKey ) > -1 && + $.mobile.activePage && + !$.mobile.activePage.is( ".ui-dialog" ) && + urlHistory.activeIndex > 0 ) { + settings.changeHash = false; + alreadyThere = true; + } + + // Normally, we tack on a dialog hash key, but if this is the location of a stale dialog, + // we reuse the URL from the entry + url = ( active.url || "" ); + + // account for absolute urls instead of just relative urls use as hashes + if( !alreadyThere && url.indexOf("#") > -1 ) { + url += dialogHashKey; + } else { + url += "#" + dialogHashKey; + } + + // tack on another dialogHashKey if this is the same as the initial hash + // this makes sure that a history entry is created for this dialog + if ( urlHistory.activeIndex === 0 && url === urlHistory.initialDst ) { + url += dialogHashKey; + } + } + + // if title element wasn't found, try the page div data attr too + // If this is a deep-link or a reload ( active === undefined ) then just use pageTitle + var newPageTitle = ( !active )? pageTitle : toPage.jqmData( "title" ) || toPage.children( ":jqmData(role='header')" ).find( ".ui-title" ).getEncodedText(); + if ( !!newPageTitle && pageTitle === document.title ) { + pageTitle = newPageTitle; + } + if ( !toPage.jqmData( "title" ) ) { + toPage.jqmData( "title", pageTitle ); + } + + // Make sure we have a transition defined. + settings.transition = settings.transition || + ( ( historyDir && !activeIsInitialPage ) ? active.transition : undefined ) || + ( isDialog ? $.mobile.defaultDialogTransition : $.mobile.defaultPageTransition ); + + //add page to history stack if it's not back or forward + if ( !historyDir && alreadyThere ) { + urlHistory.getActive().pageUrl = pageUrl; + } + + // Set the location hash. + if ( url && !settings.fromHashChange ) { + var params; + + // rebuilding the hash here since we loose it earlier on + // TODO preserve the originally passed in path + if( !path.isPath( url ) && url.indexOf( "#" ) < 0 ) { + url = "#" + url; + } + + // TODO the property names here are just silly + params = { + transition: settings.transition, + title: pageTitle, + pageUrl: pageUrl, + role: settings.role + }; + + if ( settings.changeHash !== false && $.mobile.hashListeningEnabled ) { + $.mobile.navigate( url, params, true); + } else if ( toPage[ 0 ] !== $.mobile.firstPage[ 0 ] ) { + $.mobile.navigate.history.add( url, params ); + } + } + + //set page title + document.title = pageTitle; + + //set "toPage" as activePage + $.mobile.activePage = toPage; + + // If we're navigating back in the URL history, set reverse accordingly. + settings.reverse = settings.reverse || historyDir < 0; + + transitionPages( toPage, fromPage, settings.transition, settings.reverse ) + .done(function( name, reverse, $to, $from, alreadyFocused ) { + removeActiveLinkClass(); + + //if there's a duplicateCachedPage, remove it from the DOM now that it's hidden + if ( settings.duplicateCachedPage ) { + settings.duplicateCachedPage.remove(); + } + + // Send focus to the newly shown page. Moved from promise .done binding in transitionPages + // itself to avoid ie bug that reports offsetWidth as > 0 (core check for visibility) + // despite visibility: hidden addresses issue #2965 + // https://github.com/jquery/jquery-mobile/issues/2965 + if ( !alreadyFocused ) { + $.mobile.focusPage( toPage ); + } + + releasePageTransitionLock(); + mpc.trigger( "pagechange", triggerData ); + }); + }; + + $.mobile.changePage.defaults = { + transition: undefined, + reverse: false, + changeHash: true, + fromHashChange: false, + role: undefined, // By default we rely on the role defined by the @data-role attribute. + duplicateCachedPage: undefined, + pageContainer: undefined, + showLoadMsg: true, //loading message shows by default when pages are being fetched during changePage + dataUrl: undefined, + fromPage: undefined, + allowSamePageTransition: false + }; + +/* Event Bindings - hashchange, submit, and click */ + function findClosestLink( ele ) + { + while ( ele ) { + // Look for the closest element with a nodeName of "a". + // Note that we are checking if we have a valid nodeName + // before attempting to access it. This is because the + // node we get called with could have originated from within + // an embedded SVG document where some symbol instance elements + // don't have nodeName defined on them, or strings are of type + // SVGAnimatedString. + if ( ( typeof ele.nodeName === "string" ) && ele.nodeName.toLowerCase() === "a" ) { + break; + } + ele = ele.parentNode; + } + return ele; + } + + // The base URL for any given element depends on the page it resides in. + function getClosestBaseUrl( ele ) + { + // Find the closest page and extract out its url. + var url = $( ele ).closest( ".ui-page" ).jqmData( "url" ), + base = documentBase.hrefNoHash; + + if ( !url || !path.isPath( url ) ) { + url = base; + } + + return path.makeUrlAbsolute( url, base); + } + + //The following event bindings should be bound after mobileinit has been triggered + //the following deferred is resolved in the init file + $.mobile.navreadyDeferred = $.Deferred(); + $.mobile._registerInternalEvents = function() { + var getAjaxFormData = function( $form, calculateOnly ) { + var type, target, url, ret = true, formData, vclickedName; + if ( !$.mobile.ajaxEnabled || + // test that the form is, itself, ajax false + $form.is( ":jqmData(ajax='false')" ) || + // test that $.mobile.ignoreContentEnabled is set and + // the form or one of it's parents is ajax=false + !$form.jqmHijackable().length ) { + return false; + } + + target = $form.attr( "target" ); + url = $form.attr( "action" ); + + // If no action is specified, browsers default to using the + // URL of the document containing the form. Since we dynamically + // pull in pages from external documents, the form should submit + // to the URL for the source document of the page containing + // the form. + if ( !url ) { + // Get the @data-url for the page containing the form. + url = getClosestBaseUrl( $form ); + if ( url === documentBase.hrefNoHash ) { + // The url we got back matches the document base, + // which means the page must be an internal/embedded page, + // so default to using the actual document url as a browser + // would. + url = documentUrl.hrefNoSearch; + } + } + + url = path.makeUrlAbsolute( url, getClosestBaseUrl( $form ) ); + + if ( ( path.isExternal( url ) && !path.isPermittedCrossDomainRequest( documentUrl, url ) ) || target ) { + return false; + } + + if ( !calculateOnly ) { + type = $form.attr( "method" ); + formData = $form.serializeArray(); + + if ( $lastVClicked && $lastVClicked[ 0 ].form === $form[ 0 ] ) { + vclickedName = $lastVClicked.attr( "name" ); + if ( vclickedName ) { + // Make sure the last clicked element is included in the form + $.each( formData, function( key, value ) { + if ( value.name === vclickedName ) { + // Unset vclickedName - we've found it in the serialized data already + vclickedName = ""; + return false; + } + }); + if ( vclickedName ) { + formData.push( { name: vclickedName, value: $lastVClicked.attr( "value" ) } ); + } + } + } + + ret = { + url: url, + options: { + type: type && type.length && type.toLowerCase() || "get", + data: $.param( formData ), + transition: $form.jqmData( "transition" ), + reverse: $form.jqmData( "direction" ) === "reverse", + reloadPage: true + } + }; + } + + return ret; + }; + + //bind to form submit events, handle with Ajax + $.mobile.document.delegate( "form", "submit", function( event ) { + var formData = getAjaxFormData( $( this ) ); + + if ( formData ) { + $.mobile.changePage( formData.url, formData.options ); + event.preventDefault(); + } + }); + + //add active state on vclick + $.mobile.document.bind( "vclick", function( event ) { + var $btn, btnEls, target = event.target, needClosest = false; + // if this isn't a left click we don't care. Its important to note + // that when the virtual event is generated it will create the which attr + if ( event.which > 1 || !$.mobile.linkBindingEnabled ) { + return; + } + + // Record that this element was clicked, in case we need it for correct + // form submission during the "submit" handler above + $lastVClicked = $( target ); + + // Try to find a target element to which the active class will be applied + if ( $.data( target, "mobile-button" ) ) { + // If the form will not be submitted via AJAX, do not add active class + if ( !getAjaxFormData( $( target ).closest( "form" ), true ) ) { + return; + } + // We will apply the active state to this button widget - the parent + // of the input that was clicked will have the associated data + if ( target.parentNode ) { + target = target.parentNode; + } + } else { + target = findClosestLink( target ); + if ( !( target && path.parseUrl( target.getAttribute( "href" ) || "#" ).hash !== "#" ) ) { + return; + } + + // TODO teach $.mobile.hijackable to operate on raw dom elements so the + // link wrapping can be avoided + if ( !$( target ).jqmHijackable().length ) { + return; + } + } + + // Avoid calling .closest by using the data set during .buttonMarkup() + // List items have the button data in the parent of the element clicked + if ( !!~target.className.indexOf( "ui-link-inherit" ) ) { + if ( target.parentNode ) { + btnEls = $.data( target.parentNode, "buttonElements" ); + } + // Otherwise, look for the data on the target itself + } else { + btnEls = $.data( target, "buttonElements" ); + } + // If found, grab the button's outer element + if ( btnEls ) { + target = btnEls.outer; + } else { + needClosest = true; + } + + $btn = $( target ); + // If the outer element wasn't found by the our heuristics, use .closest() + if ( needClosest ) { + $btn = $btn.closest( ".ui-btn" ); + } + + if ( $btn.length > 0 && !$btn.hasClass( "ui-disabled" ) ) { + removeActiveLinkClass( true ); + $activeClickedLink = $btn; + $activeClickedLink.addClass( $.mobile.activeBtnClass ); + } + }); + + // click routing - direct to HTTP or Ajax, accordingly + $.mobile.document.bind( "click", function( event ) { + if ( !$.mobile.linkBindingEnabled || event.isDefaultPrevented() ) { + return; + } + + var link = findClosestLink( event.target ), $link = $( link ), httpCleanup; + + // If there is no link associated with the click or its not a left + // click we want to ignore the click + // TODO teach $.mobile.hijackable to operate on raw dom elements so the link wrapping + // can be avoided + if ( !link || event.which > 1 || !$link.jqmHijackable().length ) { + return; + } + + //remove active link class if external (then it won't be there if you come back) + httpCleanup = function() { + window.setTimeout(function() { removeActiveLinkClass( true ); }, 200 ); + }; + + //if there's a data-rel=back attr, go back in history + if ( $link.is( ":jqmData(rel='back')" ) ) { + $.mobile.back(); + return false; + } + + var baseUrl = getClosestBaseUrl( $link ), + + //get href, if defined, otherwise default to empty hash + href = path.makeUrlAbsolute( $link.attr( "href" ) || "#", baseUrl ); + + //if ajax is disabled, exit early + if ( !$.mobile.ajaxEnabled && !path.isEmbeddedPage( href ) ) { + httpCleanup(); + //use default click handling + return; + } + + // XXX_jblas: Ideally links to application pages should be specified as + // an url to the application document with a hash that is either + // the site relative path or id to the page. But some of the + // internal code that dynamically generates sub-pages for nested + // lists and select dialogs, just write a hash in the link they + // create. This means the actual URL path is based on whatever + // the current value of the base tag is at the time this code + // is called. For now we are just assuming that any url with a + // hash in it is an application page reference. + if ( href.search( "#" ) !== -1 ) { + href = href.replace( /[^#]*#/, "" ); + if ( !href ) { + //link was an empty hash meant purely + //for interaction, so we ignore it. + event.preventDefault(); + return; + } else if ( path.isPath( href ) ) { + //we have apath so make it the href we want to load. + href = path.makeUrlAbsolute( href, baseUrl ); + } else { + //we have a simple id so use the documentUrl as its base. + href = path.makeUrlAbsolute( "#" + href, documentUrl.hrefNoHash ); + } + } + + // Should we handle this link, or let the browser deal with it? + var useDefaultUrlHandling = $link.is( "[rel='external']" ) || $link.is( ":jqmData(ajax='false')" ) || $link.is( "[target]" ), + + // Some embedded browsers, like the web view in Phone Gap, allow cross-domain XHR + // requests if the document doing the request was loaded via the file:// protocol. + // This is usually to allow the application to "phone home" and fetch app specific + // data. We normally let the browser handle external/cross-domain urls, but if the + // allowCrossDomainPages option is true, we will allow cross-domain http/https + // requests to go through our page loading logic. + + //check for protocol or rel and its not an embedded page + //TODO overlap in logic from isExternal, rel=external check should be + // moved into more comprehensive isExternalLink + isExternal = useDefaultUrlHandling || ( path.isExternal( href ) && !path.isPermittedCrossDomainRequest( documentUrl, href ) ); + + if ( isExternal ) { + httpCleanup(); + //use default click handling + return; + } + + //use ajax + var transition = $link.jqmData( "transition" ), + reverse = $link.jqmData( "direction" ) === "reverse" || + // deprecated - remove by 1.0 + $link.jqmData( "back" ), + + //this may need to be more specific as we use data-rel more + role = $link.attr( "data-" + $.mobile.ns + "rel" ) || undefined; + + $.mobile.changePage( href, { transition: transition, reverse: reverse, role: role, link: $link } ); + event.preventDefault(); + }); + + //prefetch pages when anchors with data-prefetch are encountered + $.mobile.document.delegate( ".ui-page", "pageshow.prefetch", function() { + var urls = []; + $( this ).find( "a:jqmData(prefetch)" ).each(function() { + var $link = $( this ), + url = $link.attr( "href" ); + + if ( url && $.inArray( url, urls ) === -1 ) { + urls.push( url ); + + $.mobile.loadPage( url, { role: $link.attr( "data-" + $.mobile.ns + "rel" ) } ); + } + }); + }); + + $.mobile._handleHashChange = function( url, data ) { + //find first page via hash + var to = path.stripHash(url), + //transition is false if it's the first page, undefined otherwise (and may be overridden by default) + transition = $.mobile.urlHistory.stack.length === 0 ? "none" : undefined, + + // default options for the changPage calls made after examining the current state + // of the page and the hash, NOTE that the transition is derived from the previous + // history entry + changePageOptions = { + changeHash: false, + fromHashChange: true, + reverse: data.direction === "back" + }; + + $.extend( changePageOptions, data, { + transition: (urlHistory.getLast() || {}).transition || transition + }); + + // special case for dialogs + if ( urlHistory.activeIndex > 0 && to.indexOf( dialogHashKey ) > -1 && urlHistory.initialDst !== to ) { + + // If current active page is not a dialog skip the dialog and continue + // in the same direction + if ( $.mobile.activePage && !$.mobile.activePage.is( ".ui-dialog" ) ) { + //determine if we're heading forward or backward and continue accordingly past + //the current dialog + if( data.direction === "back" ) { + $.mobile.back(); + } else { + window.history.forward(); + } + + // prevent changePage call + return; + } else { + // if the current active page is a dialog and we're navigating + // to a dialog use the dialog objected saved in the stack + to = data.pageUrl; + var active = $.mobile.urlHistory.getActive(); + + // make sure to set the role, transition and reversal + // as most of this is lost by the domCache cleaning + $.extend( changePageOptions, { + role: active.role, + transition: active.transition, + reverse: data.direction === "back" + }); + } + } + + //if to is defined, load it + if ( to ) { + // At this point, 'to' can be one of 3 things, a cached page element from + // a history stack entry, an id, or site-relative/absolute URL. If 'to' is + // an id, we need to resolve it against the documentBase, not the location.href, + // since the hashchange could've been the result of a forward/backward navigation + // that crosses from an external page/dialog to an internal page/dialog. + to = !path.isPath( to ) ? ( path.makeUrlAbsolute( '#' + to, documentBase ) ) : to; + + // If we're about to go to an initial URL that contains a reference to a non-existent + // internal page, go to the first page instead. We know that the initial hash refers to a + // non-existent page, because the initial hash did not end up in the initial urlHistory entry + if ( to === path.makeUrlAbsolute( '#' + urlHistory.initialDst, documentBase ) && + urlHistory.stack.length && urlHistory.stack[0].url !== urlHistory.initialDst.replace( dialogHashKey, "" ) ) { + to = $.mobile.firstPage; + } + + $.mobile.changePage( to, changePageOptions ); + } else { + + //there's no hash, go to the first page in the dom + $.mobile.changePage( $.mobile.firstPage, changePageOptions ); + } + }; + + // TODO roll the logic here into the handleHashChange method + $window.bind( "navigate", function( e, data ) { + var url = $.event.special.navigate.originalEventName.indexOf( "hashchange" ) > -1 ? data.state.hash : data.state.url; + + if( !url ) { + url = $.mobile.path.parseLocation().hash; + } + + if( !url || url === "#" || url.indexOf( "#" + $.mobile.path.uiStateKey ) === 0 ){ + url = location.href; + } + + $.mobile._handleHashChange( url, data.state ); + }); + + //set page min-heights to be device specific + $.mobile.document.bind( "pageshow", $.mobile.resetActivePageHeight ); + $.mobile.window.bind( "throttledresize", $.mobile.resetActivePageHeight ); + + };//navreadyDeferred done callback + + $( function() { domreadyDeferred.resolve(); } ); + + $.when( domreadyDeferred, $.mobile.navreadyDeferred ).done( function() { $.mobile._registerInternalEvents(); } ); +})( jQuery ); + +/* +* fallback transition for flip in non-3D supporting browsers (which tend to handle complex transitions poorly in general +*/ + +(function( $, window, undefined ) { + +$.mobile.transitionFallbacks.flip = "fade"; + +})( jQuery, this ); +/* +* fallback transition for flow in non-3D supporting browsers (which tend to handle complex transitions poorly in general +*/ + +(function( $, window, undefined ) { + +$.mobile.transitionFallbacks.flow = "fade"; + +})( jQuery, this ); +/* +* fallback transition for pop in non-3D supporting browsers (which tend to handle complex transitions poorly in general +*/ + +(function( $, window, undefined ) { + +$.mobile.transitionFallbacks.pop = "fade"; + +})( jQuery, this ); +/* +* fallback transition for slide in non-3D supporting browsers (which tend to handle complex transitions poorly in general +*/ + +(function( $, window, undefined ) { + +// Use the simultaneous transitions handler for slide transitions +$.mobile.transitionHandlers.slide = $.mobile.transitionHandlers.simultaneous; + +// Set the slide transitions's fallback to "fade" +$.mobile.transitionFallbacks.slide = "fade"; + +})( jQuery, this ); +/* +* fallback transition for slidedown in non-3D supporting browsers (which tend to handle complex transitions poorly in general +*/ + +(function( $, window, undefined ) { + +$.mobile.transitionFallbacks.slidedown = "fade"; + +})( jQuery, this ); +/* +* fallback transition for slidefade in non-3D supporting browsers (which tend to handle complex transitions poorly in general +*/ + +(function( $, window, undefined ) { + +// Set the slide transitions's fallback to "fade" +$.mobile.transitionFallbacks.slidefade = "fade"; + +})( jQuery, this ); +/* +* fallback transition for slideup in non-3D supporting browsers (which tend to handle complex transitions poorly in general +*/ + +(function( $, window, undefined ) { + +$.mobile.transitionFallbacks.slideup = "fade"; + +})( jQuery, this ); +/* +* fallback transition for turn in non-3D supporting browsers (which tend to handle complex transitions poorly in general +*/ + +(function( $, window, undefined ) { + +$.mobile.transitionFallbacks.turn = "fade"; + +})( jQuery, this ); + +(function( $, undefined ) { + +$.mobile.page.prototype.options.degradeInputs = { + color: false, + date: false, + datetime: false, + "datetime-local": false, + email: false, + month: false, + number: false, + range: "number", + search: "text", + tel: false, + time: false, + url: false, + week: false +}; + + +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + + var page = $.mobile.closestPageData( $( e.target ) ), options; + + if ( !page ) { + return; + } + + options = page.options; + + // degrade inputs to avoid poorly implemented native functionality + $( e.target ).find( "input" ).not( page.keepNativeSelector() ).each(function() { + var $this = $( this ), + type = this.getAttribute( "type" ), + optType = options.degradeInputs[ type ] || "text"; + + if ( options.degradeInputs[ type ] ) { + var html = $( "
    " ).html( $this.clone() ).html(), + // In IE browsers, the type sometimes doesn't exist in the cloned markup, so we replace the closing tag instead + hasType = html.indexOf( " type=" ) > -1, + findstr = hasType ? /\s+type=["']?\w+['"]?/ : /\/?>/, + repstr = " type=\"" + optType + "\" data-" + $.mobile.ns + "type=\"" + type + "\"" + ( hasType ? "" : ">" ); + + $this.replaceWith( html.replace( findstr, repstr ) ); + } + }); + +}); + +})( jQuery ); + +(function( $, window, undefined ) { + +$.widget( "mobile.dialog", $.mobile.widget, { + options: { + closeBtn: "left", + closeBtnText: "Close", + overlayTheme: "a", + corners: true, + initSelector: ":jqmData(role='dialog')" + }, + + // Override the theme set by the page plugin on pageshow + _handlePageBeforeShow: function() { + this._isCloseable = true; + if ( this.options.overlayTheme ) { + this.element + .page( "removeContainerBackground" ) + .page( "setContainerBackground", this.options.overlayTheme ); + } + }, + + _create: function() { + var self = this, + $el = this.element, + cornerClass = !!this.options.corners ? " ui-corner-all" : "", + dialogWrap = $( "
    ", { + "role" : "dialog", + "class" : "ui-dialog-contain ui-overlay-shadow" + cornerClass + }); + + $el.addClass( "ui-dialog ui-overlay-" + this.options.overlayTheme ); + + // Class the markup for dialog styling + // Set aria role + $el.wrapInner( dialogWrap ); + + /* bind events + - clicks and submits should use the closing transition that the dialog opened with + unless a data-transition is specified on the link/form + - if the click was on the close button, or the link has a data-rel="back" it'll go back in history naturally + */ + $el.bind( "vclick submit", function( event ) { + var $target = $( event.target ).closest( event.type === "vclick" ? "a" : "form" ), + active; + + if ( $target.length && !$target.jqmData( "transition" ) ) { + + active = $.mobile.urlHistory.getActive() || {}; + + $target.attr( "data-" + $.mobile.ns + "transition", ( active.transition || $.mobile.defaultDialogTransition ) ) + .attr( "data-" + $.mobile.ns + "direction", "reverse" ); + } + }); + + this._on( $el, { + pagebeforeshow: "_handlePageBeforeShow" + }); + + $.extend( this, { + _createComplete: false + }); + + this._setCloseBtn( this.options.closeBtn ); + }, + + _setCloseBtn: function( value ) { + var self = this, btn, location; + + if ( this._headerCloseButton ) { + this._headerCloseButton.remove(); + this._headerCloseButton = null; + } + if ( value !== "none" ) { + // Sanitize value + location = ( value === "left" ? "left" : "right" ); + btn = $( ""+ this.options.closeBtnText + "" ); + this.element.children().find( ":jqmData(role='header')" ).first().prepend( btn ); + if ( this._createComplete && $.fn.buttonMarkup ) { + btn.buttonMarkup(); + } + this._createComplete = true; + + // this must be an anonymous function so that select menu dialogs can replace + // the close method. This is a change from previously just defining data-rel=back + // on the button and letting nav handle it + // + // Use click rather than vclick in order to prevent the possibility of unintentionally + // reopening the dialog if the dialog opening item was directly under the close button. + btn.bind( "click", function() { + self.close(); + }); + + this._headerCloseButton = btn; + } + }, + + _setOption: function( key, value ) { + if ( key === "closeBtn" ) { + this._setCloseBtn( value ); + this._super( key, value ); + this.element.attr( "data-" + ( $.mobile.ns || "" ) + "close-btn", value ); + } + }, + + // Close method goes back in history + close: function() { + var idx, dst, hist = $.mobile.navigate.history; + + if ( this._isCloseable ) { + this._isCloseable = false; + // If the hash listening is enabled and there is at least one preceding history + // entry it's ok to go back. Initial pages with the dialog hash state are an example + // where the stack check is necessary + if ( $.mobile.hashListeningEnabled && hist.activeIndex > 0 ) { + $.mobile.back(); + } else { + idx = Math.max( 0, hist.activeIndex - 1 ); + dst = hist.stack[ idx ].pageUrl || hist.stack[ idx ].url; + hist.previousIndex = hist.activeIndex; + hist.activeIndex = idx; + if ( !$.mobile.path.isPath( dst ) ) { + dst = $.mobile.path.makeUrlAbsolute( "#" + dst ); + } + + $.mobile.changePage( dst, { direction: "back", changeHash: false, fromHashChange: true } ); + } + } + } +}); + +//auto self-init widgets +$.mobile.document.delegate( $.mobile.dialog.prototype.options.initSelector, "pagecreate", function() { + $.mobile.dialog.prototype.enhance( this ); +}); + +})( jQuery, this ); + +(function( $, undefined ) { + +$.mobile.page.prototype.options.backBtnText = "Back"; +$.mobile.page.prototype.options.addBackBtn = false; +$.mobile.page.prototype.options.backBtnTheme = null; +$.mobile.page.prototype.options.headerTheme = "a"; +$.mobile.page.prototype.options.footerTheme = "a"; +$.mobile.page.prototype.options.contentTheme = null; + +// NOTE bind used to force this binding to run before the buttonMarkup binding +// which expects .ui-footer top be applied in its gigantic selector +// TODO remove the buttonMarkup giant selector and move it to the various modules +// on which it depends +$.mobile.document.bind( "pagecreate", function( e ) { + var $page = $( e.target ), + o = $page.data( "mobile-page" ).options, + pageRole = $page.jqmData( "role" ), + pageTheme = o.theme; + + $( ":jqmData(role='header'), :jqmData(role='footer'), :jqmData(role='content')", $page ) + .jqmEnhanceable() + .each(function() { + + var $this = $( this ), + role = $this.jqmData( "role" ), + theme = $this.jqmData( "theme" ), + contentTheme = theme || o.contentTheme || ( pageRole === "dialog" && pageTheme ), + $headeranchors, + leftbtn, + rightbtn, + backBtn; + + $this.addClass( "ui-" + role ); + + //apply theming and markup modifications to page,header,content,footer + if ( role === "header" || role === "footer" ) { + + var thisTheme = theme || ( role === "header" ? o.headerTheme : o.footerTheme ) || pageTheme; + + $this + //add theme class + .addClass( "ui-bar-" + thisTheme ) + // Add ARIA role + .attr( "role", role === "header" ? "banner" : "contentinfo" ); + + if ( role === "header") { + // Right,left buttons + $headeranchors = $this.children( "a, button" ); + leftbtn = $headeranchors.hasClass( "ui-btn-left" ); + rightbtn = $headeranchors.hasClass( "ui-btn-right" ); + + leftbtn = leftbtn || $headeranchors.eq( 0 ).not( ".ui-btn-right" ).addClass( "ui-btn-left" ).length; + + rightbtn = rightbtn || $headeranchors.eq( 1 ).addClass( "ui-btn-right" ).length; + } + + // Auto-add back btn on pages beyond first view + if ( o.addBackBtn && + role === "header" && + $( ".ui-page" ).length > 1 && + $page.jqmData( "url" ) !== $.mobile.path.stripHash( location.hash ) && + !leftbtn ) { + + backBtn = $( ""+ o.backBtnText +"" ) + // If theme is provided, override default inheritance + .attr( "data-"+ $.mobile.ns +"theme", o.backBtnTheme || thisTheme ) + .prependTo( $this ); + } + + // Page title + $this.children( "h1, h2, h3, h4, h5, h6" ) + .addClass( "ui-title" ) + // Regardless of h element number in src, it becomes h1 for the enhanced page + .attr({ + "role": "heading", + "aria-level": "1" + }); + + } else if ( role === "content" ) { + if ( contentTheme ) { + $this.addClass( "ui-body-" + ( contentTheme ) ); + } + + // Add ARIA role + $this.attr( "role", "main" ); + } + }); +}); + +})( jQuery ); + +(function( $, undefined ) { + +$.mobile.behaviors.addFirstLastClasses = { + _getVisibles: function( $els, create ) { + var visibles; + + if ( create ) { + visibles = $els.not( ".ui-screen-hidden" ); + } else { + visibles = $els.filter( ":visible" ); + if ( visibles.length === 0 ) { + visibles = $els.not( ".ui-screen-hidden" ); + } + } + + return visibles; + }, + + _addFirstLastClasses: function( $els, $visibles, create ) { + $els.removeClass( "ui-first-child ui-last-child" ); + $visibles.eq( 0 ).addClass( "ui-first-child" ).end().last().addClass( "ui-last-child" ); + if ( !create ) { + this.element.trigger( "updatelayout" ); + } + } +}; + +})( jQuery ); + +(function( $, undefined ) { + +// filter function removes whitespace between label and form element so we can use inline-block (nodeType 3 = text) +$.fn.fieldcontain = function( options ) { + return this + .addClass( "ui-field-contain ui-body ui-br" ) + .contents().filter( function() { + return ( this.nodeType === 3 && !/\S/.test( this.nodeValue ) ); + }).remove(); +}; + +//auto self-init widgets +$( document ).bind( "pagecreate create", function( e ) { + $( ":jqmData(role='fieldcontain')", e.target ).jqmEnhanceable().fieldcontain(); +}); + +})( jQuery ); + +(function( $, undefined ) { + +$.fn.grid = function( options ) { + return this.each(function() { + + var $this = $( this ), + o = $.extend({ + grid: null + }, options ), + $kids = $this.children(), + gridCols = { solo:1, a:2, b:3, c:4, d:5 }, + grid = o.grid, + iterator; + + if ( !grid ) { + if ( $kids.length <= 5 ) { + for ( var letter in gridCols ) { + if ( gridCols[ letter ] === $kids.length ) { + grid = letter; + } + } + } else { + grid = "a"; + $this.addClass( "ui-grid-duo" ); + } + } + iterator = gridCols[grid]; + + $this.addClass( "ui-grid-" + grid ); + + $kids.filter( ":nth-child(" + iterator + "n+1)" ).addClass( "ui-block-a" ); + + if ( iterator > 1 ) { + $kids.filter( ":nth-child(" + iterator + "n+2)" ).addClass( "ui-block-b" ); + } + if ( iterator > 2 ) { + $kids.filter( ":nth-child(" + iterator + "n+3)" ).addClass( "ui-block-c" ); + } + if ( iterator > 3 ) { + $kids.filter( ":nth-child(" + iterator + "n+4)" ).addClass( "ui-block-d" ); + } + if ( iterator > 4 ) { + $kids.filter( ":nth-child(" + iterator + "n+5)" ).addClass( "ui-block-e" ); + } + }); +}; +})( jQuery ); + +(function( $, undefined ) { + +$( document ).bind( "pagecreate create", function( e ) { + $( ":jqmData(role='nojs')", e.target ).addClass( "ui-nojs" ); + +}); + +})( jQuery ); + +(function( $, undefined ) { + +$.mobile.behaviors.formReset = { + _handleFormReset: function() { + this._on( this.element.closest( "form" ), { + reset: function() { + this._delay( "_reset" ); + } + }); + } +}; + +})( jQuery ); + +(function( $, undefined ) { + +// This function calls getAttribute, which should be safe for data-* attributes +var getAttrFixed = function( e, key ) { + var value = e.getAttribute( key ); + + return value === "true" ? true : + value === "false" ? false : + value === null ? undefined : value; +}; + +$.fn.buttonMarkup = function( options ) { + var $workingSet = this, + nsKey = "data-" + $.mobile.ns, + key; + + // Enforce options to be of type string + options = ( options && ( $.type( options ) === "object" ) )? options : {}; + for ( var i = 0; i < $workingSet.length; i++ ) { + var el = $workingSet.eq( i ), + e = el[ 0 ], + o = $.extend( {}, $.fn.buttonMarkup.defaults, { + icon: options.icon !== undefined ? options.icon : getAttrFixed( e, nsKey + "icon" ), + iconpos: options.iconpos !== undefined ? options.iconpos : getAttrFixed( e, nsKey + "iconpos" ), + theme: options.theme !== undefined ? options.theme : getAttrFixed( e, nsKey + "theme" ) || $.mobile.getInheritedTheme( el, "c" ), + inline: options.inline !== undefined ? options.inline : getAttrFixed( e, nsKey + "inline" ), + shadow: options.shadow !== undefined ? options.shadow : getAttrFixed( e, nsKey + "shadow" ), + corners: options.corners !== undefined ? options.corners : getAttrFixed( e, nsKey + "corners" ), + iconshadow: options.iconshadow !== undefined ? options.iconshadow : getAttrFixed( e, nsKey + "iconshadow" ), + mini: options.mini !== undefined ? options.mini : getAttrFixed( e, nsKey + "mini" ) + }, options ), + + // Classes Defined + innerClass = "ui-btn-inner", + textClass = "ui-btn-text", + buttonClass, iconClass, + hover = false, + state = "up", + // Button inner markup + buttonInner, + buttonText, + buttonIcon, + buttonElements; + + for ( key in o ) { + e.setAttribute( nsKey + key, o[ key ] ); + } + + if ( getAttrFixed( e, nsKey + "rel" ) === "popup" && el.attr( "href" ) ) { + e.setAttribute( "aria-haspopup", true ); + e.setAttribute( "aria-owns", el.attr( "href" ) ); + } + + // Check if this element is already enhanced + buttonElements = $.data( ( ( e.tagName === "INPUT" || e.tagName === "BUTTON" ) ? e.parentNode : e ), "buttonElements" ); + + if ( buttonElements ) { + e = buttonElements.outer; + el = $( e ); + buttonInner = buttonElements.inner; + buttonText = buttonElements.text; + // We will recreate this icon below + $( buttonElements.icon ).remove(); + buttonElements.icon = null; + hover = buttonElements.hover; + state = buttonElements.state; + } + else { + buttonInner = document.createElement( o.wrapperEls ); + buttonText = document.createElement( o.wrapperEls ); + } + buttonIcon = o.icon ? document.createElement( "span" ) : null; + + if ( attachEvents && !buttonElements ) { + attachEvents(); + } + + // if not, try to find closest theme container + if ( !o.theme ) { + o.theme = $.mobile.getInheritedTheme( el, "c" ); + } + + buttonClass = "ui-btn "; + buttonClass += ( hover ? "ui-btn-hover-" + o.theme : "" ); + buttonClass += ( state ? " ui-btn-" + state + "-" + o.theme : "" ); + buttonClass += o.shadow ? " ui-shadow" : ""; + buttonClass += o.corners ? " ui-btn-corner-all" : ""; + + if ( o.mini !== undefined ) { + // Used to control styling in headers/footers, where buttons default to `mini` style. + buttonClass += o.mini === true ? " ui-mini" : " ui-fullsize"; + } + + if ( o.inline !== undefined ) { + // Used to control styling in headers/footers, where buttons default to `inline` style. + buttonClass += o.inline === true ? " ui-btn-inline" : " ui-btn-block"; + } + + if ( o.icon ) { + o.icon = "ui-icon-" + o.icon; + o.iconpos = o.iconpos || "left"; + + iconClass = "ui-icon " + o.icon; + + if ( o.iconshadow ) { + iconClass += " ui-icon-shadow"; + } + } + + if ( o.iconpos ) { + buttonClass += " ui-btn-icon-" + o.iconpos; + + if ( o.iconpos === "notext" && !el.attr( "title" ) ) { + el.attr( "title", el.getEncodedText() ); + } + } + + if ( o.iconpos && o.iconpos === "notext" && !el.attr( "title" ) ) { + el.attr( "title", el.getEncodedText() ); + } + + if ( buttonElements ) { + el.removeClass( buttonElements.bcls || "" ); + } + el.removeClass( "ui-link" ).addClass( buttonClass ); + + buttonInner.className = innerClass; + buttonText.className = textClass; + if ( !buttonElements ) { + buttonInner.appendChild( buttonText ); + } + if ( buttonIcon ) { + buttonIcon.className = iconClass; + if ( !( buttonElements && buttonElements.icon ) ) { + buttonIcon.innerHTML = " "; + buttonInner.appendChild( buttonIcon ); + } + } + + while ( e.firstChild && !buttonElements ) { + buttonText.appendChild( e.firstChild ); + } + + if ( !buttonElements ) { + e.appendChild( buttonInner ); + } + + // Assign a structure containing the elements of this button to the elements of this button. This + // will allow us to recognize this as an already-enhanced button in future calls to buttonMarkup(). + buttonElements = { + hover : hover, + state : state, + bcls : buttonClass, + outer : e, + inner : buttonInner, + text : buttonText, + icon : buttonIcon + }; + + $.data( e, 'buttonElements', buttonElements ); + $.data( buttonInner, 'buttonElements', buttonElements ); + $.data( buttonText, 'buttonElements', buttonElements ); + if ( buttonIcon ) { + $.data( buttonIcon, 'buttonElements', buttonElements ); + } + } + + return this; +}; + +$.fn.buttonMarkup.defaults = { + corners: true, + shadow: true, + iconshadow: true, + wrapperEls: "span" +}; + +function closestEnabledButton( element ) { + var cname; + + while ( element ) { + // Note that we check for typeof className below because the element we + // handed could be in an SVG DOM where className on SVG elements is defined to + // be of a different type (SVGAnimatedString). We only operate on HTML DOM + // elements, so we look for plain "string". + cname = ( typeof element.className === 'string' ) && ( element.className + ' ' ); + if ( cname && cname.indexOf( "ui-btn " ) > -1 && cname.indexOf( "ui-disabled " ) < 0 ) { + break; + } + + element = element.parentNode; + } + + return element; +} + +function updateButtonClass( $btn, classToRemove, classToAdd, hover, state ) { + var buttonElements = $.data( $btn[ 0 ], "buttonElements" ); + $btn.removeClass( classToRemove ).addClass( classToAdd ); + if ( buttonElements ) { + buttonElements.bcls = $( document.createElement( "div" ) ) + .addClass( buttonElements.bcls + " " + classToAdd ) + .removeClass( classToRemove ) + .attr( "class" ); + if ( hover !== undefined ) { + buttonElements.hover = hover; + } + buttonElements.state = state; + } +} + +var attachEvents = function() { + var hoverDelay = $.mobile.buttonMarkup.hoverDelay, hov, foc; + + $.mobile.document.bind( { + "vmousedown vmousecancel vmouseup vmouseover vmouseout focus blur scrollstart": function( event ) { + var theme, + $btn = $( closestEnabledButton( event.target ) ), + isTouchEvent = event.originalEvent && /^touch/.test( event.originalEvent.type ), + evt = event.type; + + if ( $btn.length ) { + theme = $btn.attr( "data-" + $.mobile.ns + "theme" ); + + if ( evt === "vmousedown" ) { + if ( isTouchEvent ) { + // Use a short delay to determine if the user is scrolling before highlighting + hov = setTimeout( function() { + updateButtonClass( $btn, "ui-btn-up-" + theme, "ui-btn-down-" + theme, undefined, "down" ); + }, hoverDelay ); + } else { + updateButtonClass( $btn, "ui-btn-up-" + theme, "ui-btn-down-" + theme, undefined, "down" ); + } + } else if ( evt === "vmousecancel" || evt === "vmouseup" ) { + updateButtonClass( $btn, "ui-btn-down-" + theme, "ui-btn-up-" + theme, undefined, "up" ); + } else if ( evt === "vmouseover" || evt === "focus" ) { + if ( isTouchEvent ) { + // Use a short delay to determine if the user is scrolling before highlighting + foc = setTimeout( function() { + updateButtonClass( $btn, "ui-btn-up-" + theme, "ui-btn-hover-" + theme, true, "" ); + }, hoverDelay ); + } else { + updateButtonClass( $btn, "ui-btn-up-" + theme, "ui-btn-hover-" + theme, true, "" ); + } + } else if ( evt === "vmouseout" || evt === "blur" || evt === "scrollstart" ) { + updateButtonClass( $btn, "ui-btn-hover-" + theme + " ui-btn-down-" + theme, "ui-btn-up-" + theme, false, "up" ); + if ( hov ) { + clearTimeout( hov ); + } + if ( foc ) { + clearTimeout( foc ); + } + } + } + }, + "focusin focus": function( event ) { + $( closestEnabledButton( event.target ) ).addClass( $.mobile.focusClass ); + }, + "focusout blur": function( event ) { + $( closestEnabledButton( event.target ) ).removeClass( $.mobile.focusClass ); + } + }); + + attachEvents = null; +}; + +//links in bars, or those with data-role become buttons +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + + $( ":jqmData(role='button'), .ui-bar > a, .ui-header > a, .ui-footer > a, .ui-bar > :jqmData(role='controlgroup') > a", e.target ) + .jqmEnhanceable() + .not( "button, input, .ui-btn, :jqmData(role='none'), :jqmData(role='nojs')" ) + .buttonMarkup(); +}); + +})( jQuery ); + + +(function( $, undefined ) { + +$.widget( "mobile.collapsible", $.mobile.widget, { + options: { + expandCueText: " click to expand contents", + collapseCueText: " click to collapse contents", + collapsed: true, + heading: "h1,h2,h3,h4,h5,h6,legend", + collapsedIcon: "plus", + expandedIcon: "minus", + iconpos: "left", + theme: null, + contentTheme: null, + inset: true, + corners: true, + mini: false, + initSelector: ":jqmData(role='collapsible')" + }, + _create: function() { + + var $el = this.element, + o = this.options, + collapsible = $el.addClass( "ui-collapsible" ), + collapsibleHeading = $el.children( o.heading ).first(), + collapsibleContent = collapsible.wrapInner( "
    " ).children( ".ui-collapsible-content" ), + collapsibleSet = $el.closest( ":jqmData(role='collapsible-set')" ).addClass( "ui-collapsible-set" ), + collapsibleClasses = ""; + + // Replace collapsibleHeading if it's a legend + if ( collapsibleHeading.is( "legend" ) ) { + collapsibleHeading = $( "
    "+ collapsibleHeading.html() +"
    " ).insertBefore( collapsibleHeading ); + collapsibleHeading.next().remove(); + } + + // If we are in a collapsible set + if ( collapsibleSet.length ) { + // Inherit the theme from collapsible-set + if ( !o.theme ) { + o.theme = collapsibleSet.jqmData( "theme" ) || $.mobile.getInheritedTheme( collapsibleSet, "c" ); + } + // Inherit the content-theme from collapsible-set + if ( !o.contentTheme ) { + o.contentTheme = collapsibleSet.jqmData( "content-theme" ); + } + + // Get the preference for collapsed icon in the set, but override with data- attribute on the individual collapsible + o.collapsedIcon = $el.jqmData( "collapsed-icon" ) || collapsibleSet.jqmData( "collapsed-icon" ) || o.collapsedIcon; + + // Get the preference for expanded icon in the set, but override with data- attribute on the individual collapsible + o.expandedIcon = $el.jqmData( "expanded-icon" ) || collapsibleSet.jqmData( "expanded-icon" ) || o.expandedIcon; + + // Gets the preference icon position in the set, but override with data- attribute on the individual collapsible + o.iconpos = $el.jqmData( "iconpos" ) || collapsibleSet.jqmData( "iconpos" ) || o.iconpos; + + // Inherit the preference for inset from collapsible-set or set the default value to ensure equalty within a set + if ( collapsibleSet.jqmData( "inset" ) !== undefined ) { + o.inset = collapsibleSet.jqmData( "inset" ); + } else { + o.inset = true; + } + // Set corners for individual collapsibles to false when in a collapsible-set + o.corners = false; + // Gets the preference for mini in the set + if ( !o.mini ) { + o.mini = collapsibleSet.jqmData( "mini" ); + } + } else { + // get inherited theme if not a set and no theme has been set + if ( !o.theme ) { + o.theme = $.mobile.getInheritedTheme( $el, "c" ); + } + } + + if ( !!o.inset ) { + collapsibleClasses += " ui-collapsible-inset"; + if ( !!o.corners ) { + collapsibleClasses += " ui-corner-all" ; + } + } + if ( o.contentTheme ) { + collapsibleClasses += " ui-collapsible-themed-content"; + collapsibleContent.addClass( "ui-body-" + o.contentTheme ); + } + if ( collapsibleClasses !== "" ) { + collapsible.addClass( collapsibleClasses ); + } + + collapsibleHeading + //drop heading in before content + .insertBefore( collapsibleContent ) + //modify markup & attributes + .addClass( "ui-collapsible-heading" ) + .append( "" ) + .wrapInner( "" ) + .find( "a" ) + .first() + .buttonMarkup({ + shadow: false, + corners: false, + iconpos: o.iconpos, + icon: o.collapsedIcon, + mini: o.mini, + theme: o.theme + }); + + //events + collapsible + .bind( "expand collapse", function( event ) { + if ( !event.isDefaultPrevented() ) { + var $this = $( this ), + isCollapse = ( event.type === "collapse" ); + + event.preventDefault(); + + collapsibleHeading + .toggleClass( "ui-collapsible-heading-collapsed", isCollapse ) + .find( ".ui-collapsible-heading-status" ) + .text( isCollapse ? o.expandCueText : o.collapseCueText ) + .end() + .find( ".ui-icon" ) + .toggleClass( "ui-icon-" + o.expandedIcon, !isCollapse ) + // logic or cause same icon for expanded/collapsed state would remove the ui-icon-class + .toggleClass( "ui-icon-" + o.collapsedIcon, ( isCollapse || o.expandedIcon === o.collapsedIcon ) ) + .end() + .find( "a" ).first().removeClass( $.mobile.activeBtnClass ); + + $this.toggleClass( "ui-collapsible-collapsed", isCollapse ); + collapsibleContent.toggleClass( "ui-collapsible-content-collapsed", isCollapse ).attr( "aria-hidden", isCollapse ); + + collapsibleContent.trigger( "updatelayout" ); + } + }) + .trigger( o.collapsed ? "collapse" : "expand" ); + + collapsibleHeading + .bind( "tap", function( event ) { + collapsibleHeading.find( "a" ).first().addClass( $.mobile.activeBtnClass ); + }) + .bind( "click", function( event ) { + + var type = collapsibleHeading.is( ".ui-collapsible-heading-collapsed" ) ? "expand" : "collapse"; + + collapsible.trigger( type ); + + event.preventDefault(); + event.stopPropagation(); + }); + } +}); + +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.collapsible.prototype.enhanceWithin( e.target ); +}); + +})( jQuery ); + +(function( $, undefined ) { + +$.widget( "mobile.collapsibleset", $.mobile.widget, { + options: { + initSelector: ":jqmData(role='collapsible-set')" + }, + _create: function() { + var $el = this.element.addClass( "ui-collapsible-set" ), + o = this.options; + + // Inherit the theme from collapsible-set + if ( !o.theme ) { + o.theme = $.mobile.getInheritedTheme( $el, "c" ); + } + // Inherit the content-theme from collapsible-set + if ( !o.contentTheme ) { + o.contentTheme = $el.jqmData( "content-theme" ); + } + // Inherit the corner styling from collapsible-set + if ( !o.corners ) { + o.corners = $el.jqmData( "corners" ); + } + + if ( $el.jqmData( "inset" ) !== undefined ) { + o.inset = $el.jqmData( "inset" ); + } + o.inset = o.inset !== undefined ? o.inset : true; + o.corners = o.corners !== undefined ? o.corners : true; + + if ( !!o.corners && !!o.inset ) { + $el.addClass( "ui-corner-all" ); + } + + // Initialize the collapsible set if it's not already initialized + if ( !$el.jqmData( "collapsiblebound" ) ) { + $el + .jqmData( "collapsiblebound", true ) + .bind( "expand", function( event ) { + var closestCollapsible = $( event.target ) + .closest( ".ui-collapsible" ); + if ( closestCollapsible.parent().is( ":jqmData(role='collapsible-set')" ) ) { + closestCollapsible + .siblings( ".ui-collapsible" ) + .trigger( "collapse" ); + } + }); + } + }, + + _init: function() { + var $el = this.element, + collapsiblesInSet = $el.children( ":jqmData(role='collapsible')" ), + expanded = collapsiblesInSet.filter( ":jqmData(collapsed='false')" ); + this._refresh( "true" ); + + // Because the corners are handled by the collapsible itself and the default state is collapsed + // That was causing https://github.com/jquery/jquery-mobile/issues/4116 + expanded.trigger( "expand" ); + }, + + _refresh: function( create ) { + var collapsiblesInSet = this.element.children( ":jqmData(role='collapsible')" ); + + $.mobile.collapsible.prototype.enhance( collapsiblesInSet.not( ".ui-collapsible" ) ); + + this._addFirstLastClasses( collapsiblesInSet, this._getVisibles( collapsiblesInSet, create ), create ); + }, + + refresh: function() { + this._refresh( false ); + } +}); + +$.widget( "mobile.collapsibleset", $.mobile.collapsibleset, $.mobile.behaviors.addFirstLastClasses ); + +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.collapsibleset.prototype.enhanceWithin( e.target ); +}); + +})( jQuery ); + +(function( $, undefined ) { + +$.widget( "mobile.navbar", $.mobile.widget, { + options: { + iconpos: "top", + grid: null, + initSelector: ":jqmData(role='navbar')" + }, + + _create: function() { + + var $navbar = this.element, + $navbtns = $navbar.find( "a" ), + iconpos = $navbtns.filter( ":jqmData(icon)" ).length ? + this.options.iconpos : undefined; + + $navbar.addClass( "ui-navbar ui-mini" ) + .attr( "role", "navigation" ) + .find( "ul" ) + .jqmEnhanceable() + .grid({ grid: this.options.grid }); + + $navbtns.buttonMarkup({ + corners: false, + shadow: false, + inline: true, + iconpos: iconpos + }); + + $navbar.delegate( "a", "vclick", function( event ) { + if ( !$(event.target).hasClass( "ui-disabled" ) ) { + $navbtns.removeClass( $.mobile.activeBtnClass ); + $( this ).addClass( $.mobile.activeBtnClass ); + // The code below is a workaround to fix #1181. We have to see why removeActiveLinkClass() doesn't take care of it. + var activeNavbtn = $( this ); + $( document ).one( "pagechange", function( event ) { + activeNavbtn.removeClass( $.mobile.activeBtnClass ); + }); + } + }); + + // Buttons in the navbar with ui-state-persist class should regain their active state before page show + $navbar.closest( ".ui-page" ).bind( "pagebeforeshow", function() { + $navbtns.filter( ".ui-state-persist" ).addClass( $.mobile.activeBtnClass ); + }); + } +}); + +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.navbar.prototype.enhanceWithin( e.target ); +}); + +})( jQuery ); + +(function( $, undefined ) { + +//Keeps track of the number of lists per page UID +//This allows support for multiple nested list in the same page +//https://github.com/jquery/jquery-mobile/issues/1617 +var listCountPerPage = {}; + +$.widget( "mobile.listview", $.mobile.widget, { + + options: { + theme: null, + countTheme: "c", + headerTheme: "b", + dividerTheme: "b", + icon: "arrow-r", + splitIcon: "arrow-r", + splitTheme: "b", + corners: true, + shadow: true, + inset: false, + initSelector: ":jqmData(role='listview')" + }, + + _create: function() { + var t = this, + listviewClasses = ""; + + listviewClasses += t.options.inset ? " ui-listview-inset" : ""; + + if ( !!t.options.inset ) { + listviewClasses += t.options.corners ? " ui-corner-all" : ""; + listviewClasses += t.options.shadow ? " ui-shadow" : ""; + } + + // create listview markup + t.element.addClass(function( i, orig ) { + return orig + " ui-listview" + listviewClasses; + }); + + t.refresh( true ); + }, + + // This is a generic utility method for finding the first + // node with a given nodeName. It uses basic DOM traversal + // to be fast and is meant to be a substitute for simple + // $.fn.closest() and $.fn.children() calls on a single + // element. Note that callers must pass both the lowerCase + // and upperCase version of the nodeName they are looking for. + // The main reason for this is that this function will be + // called many times and we want to avoid having to lowercase + // the nodeName from the element every time to ensure we have + // a match. Note that this function lives here for now, but may + // be moved into $.mobile if other components need a similar method. + _findFirstElementByTagName: function( ele, nextProp, lcName, ucName ) { + var dict = {}; + dict[ lcName ] = dict[ ucName ] = true; + while ( ele ) { + if ( dict[ ele.nodeName ] ) { + return ele; + } + ele = ele[ nextProp ]; + } + return null; + }, + _getChildrenByTagName: function( ele, lcName, ucName ) { + var results = [], + dict = {}; + dict[ lcName ] = dict[ ucName ] = true; + ele = ele.firstChild; + while ( ele ) { + if ( dict[ ele.nodeName ] ) { + results.push( ele ); + } + ele = ele.nextSibling; + } + return $( results ); + }, + + _addThumbClasses: function( containers ) { + var i, img, len = containers.length; + for ( i = 0; i < len; i++ ) { + img = $( this._findFirstElementByTagName( containers[ i ].firstChild, "nextSibling", "img", "IMG" ) ); + if ( img.length ) { + img.addClass( "ui-li-thumb" ); + $( this._findFirstElementByTagName( img[ 0 ].parentNode, "parentNode", "li", "LI" ) ).addClass( img.is( ".ui-li-icon" ) ? "ui-li-has-icon" : "ui-li-has-thumb" ); + } + } + }, + + refresh: function( create ) { + this.parentPage = this.element.closest( ".ui-page" ); + this._createSubPages(); + + var o = this.options, + $list = this.element, + self = this, + dividertheme = $list.jqmData( "dividertheme" ) || o.dividerTheme, + listsplittheme = $list.jqmData( "splittheme" ), + listspliticon = $list.jqmData( "spliticon" ), + listicon = $list.jqmData( "icon" ), + li = this._getChildrenByTagName( $list[ 0 ], "li", "LI" ), + ol = !!$.nodeName( $list[ 0 ], "ol" ), + jsCount = !$.support.cssPseudoElement, + start = $list.attr( "start" ), + itemClassDict = {}, + item, itemClass, itemTheme, + a, last, splittheme, counter, startCount, newStartCount, countParent, icon, imgParents, img, linkIcon; + + if ( ol && jsCount ) { + $list.find( ".ui-li-dec" ).remove(); + } + + if ( ol ) { + // Check if a start attribute has been set while taking a value of 0 into account + if ( start || start === 0 ) { + if ( !jsCount ) { + startCount = parseInt( start , 10 ) - 1; + $list.css( "counter-reset", "listnumbering " + startCount ); + } else { + counter = parseInt( start , 10 ); + } + } else if ( jsCount ) { + counter = 1; + } + } + + if ( !o.theme ) { + o.theme = $.mobile.getInheritedTheme( this.element, "c" ); + } + + for ( var pos = 0, numli = li.length; pos < numli; pos++ ) { + item = li.eq( pos ); + itemClass = "ui-li"; + + // If we're creating the element, we update it regardless + if ( create || !item.hasClass( "ui-li" ) ) { + itemTheme = item.jqmData( "theme" ) || o.theme; + a = this._getChildrenByTagName( item[ 0 ], "a", "A" ); + var isDivider = ( item.jqmData( "role" ) === "list-divider" ); + + if ( a.length && !isDivider ) { + icon = item.jqmData( "icon" ); + + item.buttonMarkup({ + wrapperEls: "div", + shadow: false, + corners: false, + iconpos: "right", + icon: a.length > 1 || icon === false ? false : icon || listicon || o.icon, + theme: itemTheme + }); + + if ( ( icon !== false ) && ( a.length === 1 ) ) { + item.addClass( "ui-li-has-arrow" ); + } + + a.first().removeClass( "ui-link" ).addClass( "ui-link-inherit" ); + + if ( a.length > 1 ) { + itemClass += " ui-li-has-alt"; + + last = a.last(); + splittheme = listsplittheme || last.jqmData( "theme" ) || o.splitTheme; + linkIcon = last.jqmData( "icon" ); + + last.appendTo( item ) + .attr( "title", $.trim(last.getEncodedText()) ) + .addClass( "ui-li-link-alt" ) + .empty() + .buttonMarkup({ + shadow: false, + corners: false, + theme: itemTheme, + icon: false, + iconpos: "notext" + }) + .find( ".ui-btn-inner" ) + .append( + $( document.createElement( "span" ) ).buttonMarkup({ + shadow: true, + corners: true, + theme: splittheme, + iconpos: "notext", + // link icon overrides list item icon overrides ul element overrides options + icon: linkIcon || icon || listspliticon || o.splitIcon + }) + ); + } + } else if ( isDivider ) { + + itemClass += " ui-li-divider ui-bar-" + ( item.jqmData( "theme" ) || dividertheme ); + item.attr( "role", "heading" ); + + if ( ol ) { + //reset counter when a divider heading is encountered + if ( start || start === 0 ) { + if ( !jsCount ) { + newStartCount = parseInt( start , 10 ) - 1; + item.css( "counter-reset", "listnumbering " + newStartCount ); + } else { + counter = parseInt( start , 10 ); + } + } else if ( jsCount ) { + counter = 1; + } + } + + } else { + itemClass += " ui-li-static ui-btn-up-" + itemTheme; + } + } + + if ( ol && jsCount && itemClass.indexOf( "ui-li-divider" ) < 0 ) { + countParent = itemClass.indexOf( "ui-li-static" ) > 0 ? item : item.find( ".ui-link-inherit" ); + + countParent.addClass( "ui-li-jsnumbering" ) + .prepend( "" + ( counter++ ) + ". " ); + } + + // Instead of setting item class directly on the list item and its + // btn-inner at this point in time, push the item into a dictionary + // that tells us what class to set on it so we can do this after this + // processing loop is finished. + + if ( !itemClassDict[ itemClass ] ) { + itemClassDict[ itemClass ] = []; + } + + itemClassDict[ itemClass ].push( item[ 0 ] ); + } + + // Set the appropriate listview item classes on each list item + // and their btn-inner elements. The main reason we didn't do this + // in the for-loop above is because we can eliminate per-item function overhead + // by calling addClass() and children() once or twice afterwards. This + // can give us a significant boost on platforms like WP7.5. + + for ( itemClass in itemClassDict ) { + $( itemClassDict[ itemClass ] ).addClass( itemClass ).children( ".ui-btn-inner" ).addClass( itemClass ); + } + + $list.find( "h1, h2, h3, h4, h5, h6" ).addClass( "ui-li-heading" ) + .end() + + .find( "p, dl" ).addClass( "ui-li-desc" ) + .end() + + .find( ".ui-li-aside" ).each(function() { + var $this = $( this ); + $this.prependTo( $this.parent() ); //shift aside to front for css float + }) + .end() + + .find( ".ui-li-count" ).each(function() { + $( this ).closest( "li" ).addClass( "ui-li-has-count" ); + }).addClass( "ui-btn-up-" + ( $list.jqmData( "counttheme" ) || this.options.countTheme) + " ui-btn-corner-all" ); + + // The idea here is to look at the first image in the list item + // itself, and any .ui-link-inherit element it may contain, so we + // can place the appropriate classes on the image and list item. + // Note that we used to use something like: + // + // li.find(">img:eq(0), .ui-link-inherit>img:eq(0)").each( ... ); + // + // But executing a find() like that on Windows Phone 7.5 took a + // really long time. Walking things manually with the code below + // allows the 400 listview item page to load in about 3 seconds as + // opposed to 30 seconds. + + this._addThumbClasses( li ); + this._addThumbClasses( $list.find( ".ui-link-inherit" ) ); + + this._addFirstLastClasses( li, this._getVisibles( li, create ), create ); + // autodividers binds to this to redraw dividers after the listview refresh + this._trigger( "afterrefresh" ); + }, + + //create a string for ID/subpage url creation + _idStringEscape: function( str ) { + return str.replace(/[^a-zA-Z0-9]/g, '-'); + }, + + _createSubPages: function() { + var parentList = this.element, + parentPage = parentList.closest( ".ui-page" ), + parentUrl = parentPage.jqmData( "url" ), + parentId = parentUrl || parentPage[ 0 ][ $.expando ], + parentListId = parentList.attr( "id" ), + o = this.options, + dns = "data-" + $.mobile.ns, + self = this, + persistentFooterID = parentPage.find( ":jqmData(role='footer')" ).jqmData( "id" ), + hasSubPages; + + if ( typeof listCountPerPage[ parentId ] === "undefined" ) { + listCountPerPage[ parentId ] = -1; + } + + parentListId = parentListId || ++listCountPerPage[ parentId ]; + + $( parentList.find( "li>ul, li>ol" ).toArray().reverse() ).each(function( i ) { + var self = this, + list = $( this ), + listId = list.attr( "id" ) || parentListId + "-" + i, + parent = list.parent(), + nodeElsFull = $( list.prevAll().toArray().reverse() ), + nodeEls = nodeElsFull.length ? nodeElsFull : $( "" + $.trim(parent.contents()[ 0 ].nodeValue) + "" ), + title = nodeEls.first().getEncodedText(),//url limits to first 30 chars of text + id = ( parentUrl || "" ) + "&" + $.mobile.subPageUrlKey + "=" + listId, + theme = list.jqmData( "theme" ) || o.theme, + countTheme = list.jqmData( "counttheme" ) || parentList.jqmData( "counttheme" ) || o.countTheme, + newPage, anchor; + + //define hasSubPages for use in later removal + hasSubPages = true; + + newPage = list.detach() + .wrap( "
    " ) + .parent() + .before( "
    " + title + "
    " ) + .after( persistentFooterID ? $( "
    " ) : "" ) + .parent() + .appendTo( $.mobile.pageContainer ); + + newPage.page(); + + anchor = parent.find( 'a:first' ); + + if ( !anchor.length ) { + anchor = $( "" ).html( nodeEls || title ).prependTo( parent.empty() ); + } + + anchor.attr( "href", "#" + id ); + + }).listview(); + + // on pagehide, remove any nested pages along with the parent page, as long as they aren't active + // and aren't embedded + if ( hasSubPages && + parentPage.is( ":jqmData(external-page='true')" ) && + parentPage.data( "mobile-page" ).options.domCache === false ) { + + var newRemove = function( e, ui ) { + var nextPage = ui.nextPage, npURL, + prEvent = new $.Event( "pageremove" ); + + if ( ui.nextPage ) { + npURL = nextPage.jqmData( "url" ); + if ( npURL.indexOf( parentUrl + "&" + $.mobile.subPageUrlKey ) !== 0 ) { + self.childPages().remove(); + parentPage.trigger( prEvent ); + if ( !prEvent.isDefaultPrevented() ) { + parentPage.removeWithDependents(); + } + } + } + }; + + // unbind the original page remove and replace with our specialized version + parentPage + .unbind( "pagehide.remove" ) + .bind( "pagehide.remove", newRemove); + } + }, + + // TODO sort out a better way to track sub pages of the listview this is brittle + childPages: function() { + var parentUrl = this.parentPage.jqmData( "url" ); + + return $( ":jqmData(url^='"+ parentUrl + "&" + $.mobile.subPageUrlKey + "')" ); + } +}); + +$.widget( "mobile.listview", $.mobile.listview, $.mobile.behaviors.addFirstLastClasses ); + +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.listview.prototype.enhanceWithin( e.target ); +}); + +})( jQuery ); + +(function( $, undefined ) { + +$.mobile.listview.prototype.options.autodividers = false; +$.mobile.listview.prototype.options.autodividersSelector = function( elt ) { + // look for the text in the given element + var text = $.trim( elt.text() ) || null; + + if ( !text ) { + return null; + } + + // create the text for the divider (first uppercased letter) + text = text.slice( 0, 1 ).toUpperCase(); + + return text; +}; + +$.mobile.document.delegate( "ul,ol", "listviewcreate", function() { + + var list = $( this ), + listview = list.data( "mobile-listview" ); + + if ( !listview || !listview.options.autodividers ) { + return; + } + + var replaceDividers = function () { + list.find( "li:jqmData(role='list-divider')" ).remove(); + + var lis = list.find( 'li' ), + lastDividerText = null, li, dividerText; + + for ( var i = 0; i < lis.length ; i++ ) { + li = lis[i]; + dividerText = listview.options.autodividersSelector( $( li ) ); + + if ( dividerText && lastDividerText !== dividerText ) { + var divider = document.createElement( 'li' ); + divider.appendChild( document.createTextNode( dividerText ) ); + divider.setAttribute( 'data-' + $.mobile.ns + 'role', 'list-divider' ); + li.parentNode.insertBefore( divider, li ); + } + + lastDividerText = dividerText; + } + }; + + var afterListviewRefresh = function () { + list.unbind( 'listviewafterrefresh', afterListviewRefresh ); + replaceDividers(); + listview.refresh(); + list.bind( 'listviewafterrefresh', afterListviewRefresh ); + }; + + afterListviewRefresh(); +}); + +})( jQuery ); + +/* +* "checkboxradio" plugin +*/ + +(function( $, undefined ) { + +$.widget( "mobile.checkboxradio", $.mobile.widget, { + options: { + theme: null, + mini: false, + initSelector: "input[type='checkbox'],input[type='radio']" + }, + _create: function() { + var self = this, + input = this.element, + o = this.options, + inheritAttr = function( input, dataAttr ) { + return input.jqmData( dataAttr ) || input.closest( "form, fieldset" ).jqmData( dataAttr ); + }, + // NOTE: Windows Phone could not find the label through a selector + // filter works though. + parentLabel = $( input ).closest( "label" ), + label = parentLabel.length ? parentLabel : $( input ).closest( "form, fieldset, :jqmData(role='page'), :jqmData(role='dialog')" ).find( "label" ).filter( "[for='" + input[0].id + "']" ).first(), + inputtype = input[0].type, + mini = inheritAttr( input, "mini" ) || o.mini, + checkedState = inputtype + "-on", + uncheckedState = inputtype + "-off", + iconpos = inheritAttr( input, "iconpos" ), + checkedClass = "ui-" + checkedState, + uncheckedClass = "ui-" + uncheckedState; + + if ( inputtype !== "checkbox" && inputtype !== "radio" ) { + return; + } + + // Expose for other methods + $.extend( this, { + label: label, + inputtype: inputtype, + checkedClass: checkedClass, + uncheckedClass: uncheckedClass, + checkedicon: checkedState, + uncheckedicon: uncheckedState + }); + + // If there's no selected theme check the data attr + if ( !o.theme ) { + o.theme = $.mobile.getInheritedTheme( this.element, "c" ); + } + + label.buttonMarkup({ + theme: o.theme, + icon: uncheckedState, + shadow: false, + mini: mini, + iconpos: iconpos + }); + + // Wrap the input + label in a div + var wrapper = document.createElement('div'); + wrapper.className = 'ui-' + inputtype; + + input.add( label ).wrapAll( wrapper ); + + label.bind({ + vmouseover: function( event ) { + if ( $( this ).parent().is( ".ui-disabled" ) ) { + event.stopPropagation(); + } + }, + + vclick: function( event ) { + if ( input.is( ":disabled" ) ) { + event.preventDefault(); + return; + } + + self._cacheVals(); + + input.prop( "checked", inputtype === "radio" && true || !input.prop( "checked" ) ); + + // trigger click handler's bound directly to the input as a substitute for + // how label clicks behave normally in the browsers + // TODO: it would be nice to let the browser's handle the clicks and pass them + // through to the associate input. we can swallow that click at the parent + // wrapper element level + input.triggerHandler( 'click' ); + + // Input set for common radio buttons will contain all the radio + // buttons, but will not for checkboxes. clearing the checked status + // of other radios ensures the active button state is applied properly + self._getInputSet().not( input ).prop( "checked", false ); + + self._updateAll(); + return false; + } + }); + + input + .bind({ + vmousedown: function() { + self._cacheVals(); + }, + + vclick: function() { + var $this = $( this ); + + // Adds checked attribute to checked input when keyboard is used + if ( $this.is( ":checked" ) ) { + + $this.prop( "checked", true); + self._getInputSet().not( $this ).prop( "checked", false ); + } else { + + $this.prop( "checked", false ); + } + + self._updateAll(); + }, + + focus: function() { + label.addClass( $.mobile.focusClass ); + }, + + blur: function() { + label.removeClass( $.mobile.focusClass ); + } + }); + + if ( this._handleFormReset ) { + this._handleFormReset(); + } + this.refresh(); + }, + + _cacheVals: function() { + this._getInputSet().each(function() { + $( this ).jqmData( "cacheVal", this.checked ); + }); + }, + + //returns either a set of radios with the same name attribute, or a single checkbox + _getInputSet: function() { + if ( this.inputtype === "checkbox" ) { + return this.element; + } + + return this.element.closest( "form, :jqmData(role='page'), :jqmData(role='dialog')" ) + .find( "input[name='" + this.element[0].name + "'][type='" + this.inputtype + "']" ); + }, + + _updateAll: function() { + var self = this; + + this._getInputSet().each(function() { + var $this = $( this ); + + if ( this.checked || self.inputtype === "checkbox" ) { + $this.trigger( "change" ); + } + }) + .checkboxradio( "refresh" ); + }, + + _reset: function() { + this.refresh(); + }, + + refresh: function() { + var input = this.element[ 0 ], + active = " " + $.mobile.activeBtnClass, + checkedClass = this.checkedClass + ( this.element.parents( ".ui-controlgroup-horizontal" ).length ? active : "" ), + label = this.label; + + if ( input.checked ) { + label.removeClass( this.uncheckedClass + active ).addClass( checkedClass ).buttonMarkup( { icon: this.checkedicon } ); + } else { + label.removeClass( checkedClass ).addClass( this.uncheckedClass ).buttonMarkup( { icon: this.uncheckedicon } ); + } + + if ( input.disabled ) { + this.disable(); + } else { + this.enable(); + } + }, + + disable: function() { + this.element.prop( "disabled", true ).parent().addClass( "ui-disabled" ); + }, + + enable: function() { + this.element.prop( "disabled", false ).parent().removeClass( "ui-disabled" ); + } +}); + +$.widget( "mobile.checkboxradio", $.mobile.checkboxradio, $.mobile.behaviors.formReset ); + +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.checkboxradio.prototype.enhanceWithin( e.target, true ); +}); + +})( jQuery ); + +(function( $, undefined ) { + +$.widget( "mobile.button", $.mobile.widget, { + options: { + theme: null, + icon: null, + iconpos: null, + corners: true, + shadow: true, + iconshadow: true, + inline: null, + mini: null, + initSelector: "button, [type='button'], [type='submit'], [type='reset']" + }, + _create: function() { + var $el = this.element, + $button, + // create a copy of this.options we can pass to buttonMarkup + o = ( function( tdo ) { + var key, ret = {}; + + for ( key in tdo ) { + if ( tdo[ key ] !== null && key !== "initSelector" ) { + ret[ key ] = tdo[ key ]; + } + } + + return ret; + } )( this.options ), + classes = "", + $buttonPlaceholder; + + // if this is a link, check if it's been enhanced and, if not, use the right function + if ( $el[ 0 ].tagName === "A" ) { + if ( !$el.hasClass( "ui-btn" ) ) { + $el.buttonMarkup(); + } + return; + } + + // get the inherited theme + // TODO centralize for all widgets + if ( !this.options.theme ) { + this.options.theme = $.mobile.getInheritedTheme( this.element, "c" ); + } + + // TODO: Post 1.1--once we have time to test thoroughly--any classes manually applied to the original element should be carried over to the enhanced element, with an `-enhanced` suffix. See https://github.com/jquery/jquery-mobile/issues/3577 + /* if ( $el[0].className.length ) { + classes = $el[0].className; + } */ + if ( !!~$el[0].className.indexOf( "ui-btn-left" ) ) { + classes = "ui-btn-left"; + } + + if ( !!~$el[0].className.indexOf( "ui-btn-right" ) ) { + classes = "ui-btn-right"; + } + + if ( $el.attr( "type" ) === "submit" || $el.attr( "type" ) === "reset" ) { + classes ? classes += " ui-submit" : classes = "ui-submit"; + } + $( "label[for='" + $el.attr( "id" ) + "']" ).addClass( "ui-submit" ); + + // Add ARIA role + this.button = $( "
    " ) + [ $el.html() ? "html" : "text" ]( $el.html() || $el.val() ) + .insertBefore( $el ) + .buttonMarkup( o ) + .addClass( classes ) + .append( $el.addClass( "ui-btn-hidden" ) ); + + $button = this.button; + + $el.bind({ + focus: function() { + $button.addClass( $.mobile.focusClass ); + }, + + blur: function() { + $button.removeClass( $.mobile.focusClass ); + } + }); + + this.refresh(); + }, + + _setOption: function( key, value ) { + var op = {}; + + op[ key ] = value; + if ( key !== "initSelector" ) { + this.button.buttonMarkup( op ); + // Record the option change in the options and in the DOM data-* attributes + this.element.attr( "data-" + ( $.mobile.ns || "" ) + ( key.replace( /([A-Z])/, "-$1" ).toLowerCase() ), value ); + } + this._super( "_setOption", key, value ); + }, + + enable: function() { + this.element.attr( "disabled", false ); + this.button.removeClass( "ui-disabled" ).attr( "aria-disabled", false ); + return this._setOption( "disabled", false ); + }, + + disable: function() { + this.element.attr( "disabled", true ); + this.button.addClass( "ui-disabled" ).attr( "aria-disabled", true ); + return this._setOption( "disabled", true ); + }, + + refresh: function() { + var $el = this.element; + + if ( $el.prop("disabled") ) { + this.disable(); + } else { + this.enable(); + } + + // Grab the button's text element from its implementation-independent data item + $( this.button.data( 'buttonElements' ).text )[ $el.html() ? "html" : "text" ]( $el.html() || $el.val() ); + } +}); + +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.button.prototype.enhanceWithin( e.target, true ); +}); + +})( jQuery ); + +(function( $, undefined ) { + + $.widget( "mobile.controlgroup", $.mobile.widget, { + options: { + shadow: false, + corners: true, + excludeInvisible: true, + type: "vertical", + mini: false, + initSelector: ":jqmData(role='controlgroup')" + }, + + _create: function() { + var $el = this.element, + ui = { + inner: $( "
    " ), + legend: $( "
    " ) + }, + grouplegend = $el.children( "legend" ), + self = this; + + // Apply the proto + $el.wrapInner( ui.inner ); + if ( grouplegend.length ) { + ui.legend.append( grouplegend ).insertBefore( $el.children( 0 ) ); + } + $el.addClass( "ui-corner-all ui-controlgroup" ); + + $.extend( this, { + _initialRefresh: true + }); + + $.each( this.options, function( key, value ) { + // Cause initial options to be applied by their handler by temporarily setting the option to undefined + // - the handler then sets it to the initial value + self.options[ key ] = undefined; + self._setOption( key, value, true ); + }); + }, + + _init: function() { + this.refresh(); + }, + + _setOption: function( key, value ) { + var setter = "_set" + key.charAt( 0 ).toUpperCase() + key.slice( 1 ); + + if ( this[ setter ] !== undefined ) { + this[ setter ]( value ); + } + + this._super( key, value ); + this.element.attr( "data-" + ( $.mobile.ns || "" ) + ( key.replace( /([A-Z])/, "-$1" ).toLowerCase() ), value ); + }, + + _setType: function( value ) { + this.element + .removeClass( "ui-controlgroup-horizontal ui-controlgroup-vertical" ) + .addClass( "ui-controlgroup-" + value ); + this.refresh(); + }, + + _setCorners: function( value ) { + this.element.toggleClass( "ui-corner-all", value ); + }, + + _setShadow: function( value ) { + this.element.toggleClass( "ui-shadow", value ); + }, + + _setMini: function( value ) { + this.element.toggleClass( "ui-mini", value ); + }, + + container: function() { + return this.element.children( ".ui-controlgroup-controls" ); + }, + + refresh: function() { + var els = this.element.find( ".ui-btn" ).not( ".ui-slider-handle" ), + create = this._initialRefresh; + if ( $.mobile.checkboxradio ) { + this.element.find( ":mobile-checkboxradio" ).checkboxradio( "refresh" ); + } + this._addFirstLastClasses( els, this.options.excludeInvisible ? this._getVisibles( els, create ) : els, create ); + this._initialRefresh = false; + } + }); + + $.widget( "mobile.controlgroup", $.mobile.controlgroup, $.mobile.behaviors.addFirstLastClasses ); + + // TODO: Implement a mechanism to allow widgets to become enhanced in the + // correct order when their correct enhancement depends on other widgets in + // the page being correctly enhanced already. + // + // For now, we wait until dom-ready to attach the controlgroup's enhancement + // hook, because by that time, all the other widgets' enhancement hooks should + // already be in place, ensuring that all widgets that need to be grouped will + // already have been enhanced by the time the controlgroup is created. + $( function() { + $.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.controlgroup.prototype.enhanceWithin( e.target, true ); + }); + }); +})(jQuery); + +(function( $, undefined ) { + +$( document ).bind( "pagecreate create", function( e ) { + + //links within content areas, tests included with page + $( e.target ) + .find( "a" ) + .jqmEnhanceable() + .not( ".ui-btn, .ui-link-inherit, :jqmData(role='none'), :jqmData(role='nojs')" ) + .addClass( "ui-link" ); + +}); + +})( jQuery ); + + +(function( $, undefined ) { + + function fitSegmentInsideSegment( winSize, segSize, offset, desired ) { + var ret = desired; + + if ( winSize < segSize ) { + // Center segment if it's bigger than the window + ret = offset + ( winSize - segSize ) / 2; + } else { + // Otherwise center it at the desired coordinate while keeping it completely inside the window + ret = Math.min( Math.max( offset, desired - segSize / 2 ), offset + winSize - segSize ); + } + + return ret; + } + + function windowCoords() { + var $win = $.mobile.window; + + return { + x: $win.scrollLeft(), + y: $win.scrollTop(), + cx: ( window.innerWidth || $win.width() ), + cy: ( window.innerHeight || $win.height() ) + }; + } + + $.widget( "mobile.popup", $.mobile.widget, { + options: { + theme: null, + overlayTheme: null, + shadow: true, + corners: true, + transition: "none", + positionTo: "origin", + tolerance: null, + initSelector: ":jqmData(role='popup')", + closeLinkSelector: "a:jqmData(rel='back')", + closeLinkEvents: "click.popup", + navigateEvents: "navigate.popup", + closeEvents: "navigate.popup pagebeforechange.popup", + dismissible: true, + + // NOTE Windows Phone 7 has a scroll position caching issue that + // requires us to disable popup history management by default + // https://github.com/jquery/jquery-mobile/issues/4784 + // + // NOTE this option is modified in _create! + history: !$.mobile.browser.oldIE + }, + + _eatEventAndClose: function( e ) { + e.preventDefault(); + e.stopImmediatePropagation(); + if ( this.options.dismissible ) { + this.close(); + } + return false; + }, + + // Make sure the screen size is increased beyond the page height if the popup's causes the document to increase in height + _resizeScreen: function() { + var popupHeight = this._ui.container.outerHeight( true ); + + this._ui.screen.removeAttr( "style" ); + if ( popupHeight > this._ui.screen.height() ) { + this._ui.screen.height( popupHeight ); + } + }, + + _handleWindowKeyUp: function( e ) { + if ( this._isOpen && e.keyCode === $.mobile.keyCode.ESCAPE ) { + return this._eatEventAndClose( e ); + } + }, + + _expectResizeEvent: function() { + var winCoords = windowCoords(); + + if ( this._resizeData ) { + if ( winCoords.x === this._resizeData.winCoords.x && + winCoords.y === this._resizeData.winCoords.y && + winCoords.cx === this._resizeData.winCoords.cx && + winCoords.cy === this._resizeData.winCoords.cy ) { + // timeout not refreshed + return false; + } else { + // clear existing timeout - it will be refreshed below + clearTimeout( this._resizeData.timeoutId ); + } + } + + this._resizeData = { + timeoutId: setTimeout( $.proxy( this, "_resizeTimeout" ), 200 ), + winCoords: winCoords + }; + + return true; + }, + + _resizeTimeout: function() { + if ( this._isOpen ) { + if ( !this._expectResizeEvent() ) { + if ( this._ui.container.hasClass( "ui-popup-hidden" ) ) { + // effectively rapid-open the popup while leaving the screen intact + this._ui.container.removeClass( "ui-popup-hidden" ); + this.reposition( { positionTo: "window" } ); + this._ignoreResizeEvents(); + } + + this._resizeScreen(); + this._resizeData = null; + this._orientationchangeInProgress = false; + } + } else { + this._resizeData = null; + this._orientationchangeInProgress = false; + } + }, + + _ignoreResizeEvents: function() { + var self = this; + + if ( this._ignoreResizeTo ) { + clearTimeout( this._ignoreResizeTo ); + } + this._ignoreResizeTo = setTimeout( function() { self._ignoreResizeTo = 0; }, 1000 ); + }, + + _handleWindowResize: function( e ) { + if ( this._isOpen && this._ignoreResizeTo === 0 ) { + if ( ( this._expectResizeEvent() || this._orientationchangeInProgress ) && + !this._ui.container.hasClass( "ui-popup-hidden" ) ) { + // effectively rapid-close the popup while leaving the screen intact + this._ui.container + .addClass( "ui-popup-hidden" ) + .removeAttr( "style" ); + } + } + }, + + _handleWindowOrientationchange: function( e ) { + if ( !this._orientationchangeInProgress && this._isOpen && this._ignoreResizeTo === 0 ) { + this._expectResizeEvent(); + this._orientationchangeInProgress = true; + } + }, + + // When the popup is open, attempting to focus on an element that is not a + // child of the popup will redirect focus to the popup + _handleDocumentFocusIn: function( e ) { + var tgt = e.target, $tgt, ui = this._ui; + + if ( !this._isOpen ) { + return; + } + + if ( tgt !== ui.container[ 0 ] ) { + $tgt = $( e.target ); + if ( 0 === $tgt.parents().filter( ui.container[ 0 ] ).length ) { + $( document.activeElement ).one( "focus", function( e ) { + $tgt.blur(); + }); + ui.focusElement.focus(); + e.preventDefault(); + e.stopImmediatePropagation(); + return false; + } else if ( ui.focusElement[ 0 ] === ui.container[ 0 ] ) { + ui.focusElement = $tgt; + } + } else if ( ui.focusElement && ui.focusElement[ 0 ] !== ui.container[ 0 ] ) { + ui.container.blur(); + ui.focusElement.focus(); + } + + this._ignoreResizeEvents(); + }, + + _create: function() { + var ui = { + screen: $( "
    " ), + placeholder: $( "
    " ), + container: $( "
    " ) + }, + thisPage = this.element.closest( ".ui-page" ), + myId = this.element.attr( "id" ), + self = this; + + // We need to adjust the history option to be false if there's no AJAX nav. + // We can't do it in the option declarations because those are run before + // it is determined whether there shall be AJAX nav. + this.options.history = this.options.history && $.mobile.ajaxEnabled && $.mobile.hashListeningEnabled; + + if ( thisPage.length === 0 ) { + thisPage = $( "body" ); + } + + // define the container for navigation event bindings + // TODO this would be nice at the the mobile widget level + this.options.container = this.options.container || $.mobile.pageContainer; + + // Apply the proto + thisPage.append( ui.screen ); + ui.container.insertAfter( ui.screen ); + // Leave a placeholder where the element used to be + ui.placeholder.insertAfter( this.element ); + if ( myId ) { + ui.screen.attr( "id", myId + "-screen" ); + ui.container.attr( "id", myId + "-popup" ); + ui.placeholder.html( "" ); + } + ui.container.append( this.element ); + ui.focusElement = ui.container; + + // Add class to popup element + this.element.addClass( "ui-popup" ); + + // Define instance variables + $.extend( this, { + _scrollTop: 0, + _page: thisPage, + _ui: ui, + _fallbackTransition: "", + _currentTransition: false, + _prereqs: null, + _isOpen: false, + _tolerance: null, + _resizeData: null, + _ignoreResizeTo: 0, + _orientationchangeInProgress: false + }); + + $.each( this.options, function( key, value ) { + // Cause initial options to be applied by their handler by temporarily setting the option to undefined + // - the handler then sets it to the initial value + self.options[ key ] = undefined; + self._setOption( key, value, true ); + }); + + ui.screen.bind( "vclick", $.proxy( this, "_eatEventAndClose" ) ); + + this._on( $.mobile.window, { + orientationchange: $.proxy( this, "_handleWindowOrientationchange" ), + resize: $.proxy( this, "_handleWindowResize" ), + keyup: $.proxy( this, "_handleWindowKeyUp" ) + }); + this._on( $.mobile.document, { + focusin: $.proxy( this, "_handleDocumentFocusIn" ) + }); + }, + + _applyTheme: function( dst, theme, prefix ) { + var classes = ( dst.attr( "class" ) || "").split( " " ), + alreadyAdded = true, + currentTheme = null, + matches, + themeStr = String( theme ); + + while ( classes.length > 0 ) { + currentTheme = classes.pop(); + matches = ( new RegExp( "^ui-" + prefix + "-([a-z])$" ) ).exec( currentTheme ); + if ( matches && matches.length > 1 ) { + currentTheme = matches[ 1 ]; + break; + } else { + currentTheme = null; + } + } + + if ( theme !== currentTheme ) { + dst.removeClass( "ui-" + prefix + "-" + currentTheme ); + if ( ! ( theme === null || theme === "none" ) ) { + dst.addClass( "ui-" + prefix + "-" + themeStr ); + } + } + }, + + _setTheme: function( value ) { + this._applyTheme( this.element, value, "body" ); + }, + + _setOverlayTheme: function( value ) { + this._applyTheme( this._ui.screen, value, "overlay" ); + + if ( this._isOpen ) { + this._ui.screen.addClass( "in" ); + } + }, + + _setShadow: function( value ) { + this.element.toggleClass( "ui-overlay-shadow", value ); + }, + + _setCorners: function( value ) { + this.element.toggleClass( "ui-corner-all", value ); + }, + + _applyTransition: function( value ) { + this._ui.container.removeClass( this._fallbackTransition ); + if ( value && value !== "none" ) { + this._fallbackTransition = $.mobile._maybeDegradeTransition( value ); + if ( this._fallbackTransition === "none" ) { + this._fallbackTransition = ""; + } + this._ui.container.addClass( this._fallbackTransition ); + } + }, + + _setTransition: function( value ) { + if ( !this._currentTransition ) { + this._applyTransition( value ); + } + }, + + _setTolerance: function( value ) { + var tol = { t: 30, r: 15, b: 30, l: 15 }; + + if ( value !== undefined ) { + var ar = String( value ).split( "," ); + + $.each( ar, function( idx, val ) { ar[ idx ] = parseInt( val, 10 ); } ); + + switch( ar.length ) { + // All values are to be the same + case 1: + if ( !isNaN( ar[ 0 ] ) ) { + tol.t = tol.r = tol.b = tol.l = ar[ 0 ]; + } + break; + + // The first value denotes top/bottom tolerance, and the second value denotes left/right tolerance + case 2: + if ( !isNaN( ar[ 0 ] ) ) { + tol.t = tol.b = ar[ 0 ]; + } + if ( !isNaN( ar[ 1 ] ) ) { + tol.l = tol.r = ar[ 1 ]; + } + break; + + // The array contains values in the order top, right, bottom, left + case 4: + if ( !isNaN( ar[ 0 ] ) ) { + tol.t = ar[ 0 ]; + } + if ( !isNaN( ar[ 1 ] ) ) { + tol.r = ar[ 1 ]; + } + if ( !isNaN( ar[ 2 ] ) ) { + tol.b = ar[ 2 ]; + } + if ( !isNaN( ar[ 3 ] ) ) { + tol.l = ar[ 3 ]; + } + break; + + default: + break; + } + } + + this._tolerance = tol; + }, + + _setOption: function( key, value ) { + var exclusions, setter = "_set" + key.charAt( 0 ).toUpperCase() + key.slice( 1 ); + + if ( this[ setter ] !== undefined ) { + this[ setter ]( value ); + } + + // TODO REMOVE FOR 1.2.1 by moving them out to a default options object + exclusions = [ + "initSelector", + "closeLinkSelector", + "closeLinkEvents", + "navigateEvents", + "closeEvents", + "history", + "container" + ]; + + $.mobile.widget.prototype._setOption.apply( this, arguments ); + if ( $.inArray( key, exclusions ) === -1 ) { + // Record the option change in the options and in the DOM data-* attributes + this.element.attr( "data-" + ( $.mobile.ns || "" ) + ( key.replace( /([A-Z])/, "-$1" ).toLowerCase() ), value ); + } + }, + + // Try and center the overlay over the given coordinates + _placementCoords: function( desired ) { + // rectangle within which the popup must fit + var + winCoords = windowCoords(), + rc = { + x: this._tolerance.l, + y: winCoords.y + this._tolerance.t, + cx: winCoords.cx - this._tolerance.l - this._tolerance.r, + cy: winCoords.cy - this._tolerance.t - this._tolerance.b + }, + menuSize, ret; + + // Clamp the width of the menu before grabbing its size + this._ui.container.css( "max-width", rc.cx ); + menuSize = { + cx: this._ui.container.outerWidth( true ), + cy: this._ui.container.outerHeight( true ) + }; + + // Center the menu over the desired coordinates, while not going outside + // the window tolerances. This will center wrt. the window if the popup is too large. + ret = { + x: fitSegmentInsideSegment( rc.cx, menuSize.cx, rc.x, desired.x ), + y: fitSegmentInsideSegment( rc.cy, menuSize.cy, rc.y, desired.y ) + }; + + // Make sure the top of the menu is visible + ret.y = Math.max( 0, ret.y ); + + // If the height of the menu is smaller than the height of the document + // align the bottom with the bottom of the document + + // fix for $.mobile.document.height() bug in core 1.7.2. + var docEl = document.documentElement, docBody = document.body, + docHeight = Math.max( docEl.clientHeight, docBody.scrollHeight, docBody.offsetHeight, docEl.scrollHeight, docEl.offsetHeight ); + + ret.y -= Math.min( ret.y, Math.max( 0, ret.y + menuSize.cy - docHeight ) ); + + return { left: ret.x, top: ret.y }; + }, + + _createPrereqs: function( screenPrereq, containerPrereq, whenDone ) { + var self = this, prereqs; + + // It is important to maintain both the local variable prereqs and self._prereqs. The local variable remains in + // the closure of the functions which call the callbacks passed in. The comparison between the local variable and + // self._prereqs is necessary, because once a function has been passed to .animationComplete() it will be called + // next time an animation completes, even if that's not the animation whose end the function was supposed to catch + // (for example, if an abort happens during the opening animation, the .animationComplete handler is not called for + // that animation anymore, but the handler remains attached, so it is called the next time the popup is opened + // - making it stale. Comparing the local variable prereqs to the widget-level variable self._prereqs ensures that + // callbacks triggered by a stale .animationComplete will be ignored. + + prereqs = { + screen: $.Deferred(), + container: $.Deferred() + }; + + prereqs.screen.then( function() { + if ( prereqs === self._prereqs ) { + screenPrereq(); + } + }); + + prereqs.container.then( function() { + if ( prereqs === self._prereqs ) { + containerPrereq(); + } + }); + + $.when( prereqs.screen, prereqs.container ).done( function() { + if ( prereqs === self._prereqs ) { + self._prereqs = null; + whenDone(); + } + }); + + self._prereqs = prereqs; + }, + + _animate: function( args ) { + // NOTE before removing the default animation of the screen + // this had an animate callback that would resolve the deferred + // now the deferred is resolved immediately + // TODO remove the dependency on the screen deferred + this._ui.screen + .removeClass( args.classToRemove ) + .addClass( args.screenClassToAdd ); + + args.prereqs.screen.resolve(); + + if ( args.transition && args.transition !== "none" ) { + if ( args.applyTransition ) { + this._applyTransition( args.transition ); + } + if ( this._fallbackTransition ) { + this._ui.container + .animationComplete( $.proxy( args.prereqs.container, "resolve" ) ) + .addClass( args.containerClassToAdd ) + .removeClass( args.classToRemove ); + return; + } + } + this._ui.container.removeClass( args.classToRemove ); + args.prereqs.container.resolve(); + }, + + // The desired coordinates passed in will be returned untouched if no reference element can be identified via + // desiredPosition.positionTo. Nevertheless, this function ensures that its return value always contains valid + // x and y coordinates by specifying the center middle of the window if the coordinates are absent. + // options: { x: coordinate, y: coordinate, positionTo: string: "origin", "window", or jQuery selector + _desiredCoords: function( o ) { + var dst = null, offset, winCoords = windowCoords(), x = o.x, y = o.y, pTo = o.positionTo; + + // Establish which element will serve as the reference + if ( pTo && pTo !== "origin" ) { + if ( pTo === "window" ) { + x = winCoords.cx / 2 + winCoords.x; + y = winCoords.cy / 2 + winCoords.y; + } else { + try { + dst = $( pTo ); + } catch( e ) { + dst = null; + } + if ( dst ) { + dst.filter( ":visible" ); + if ( dst.length === 0 ) { + dst = null; + } + } + } + } + + // If an element was found, center over it + if ( dst ) { + offset = dst.offset(); + x = offset.left + dst.outerWidth() / 2; + y = offset.top + dst.outerHeight() / 2; + } + + // Make sure x and y are valid numbers - center over the window + if ( $.type( x ) !== "number" || isNaN( x ) ) { + x = winCoords.cx / 2 + winCoords.x; + } + if ( $.type( y ) !== "number" || isNaN( y ) ) { + y = winCoords.cy / 2 + winCoords.y; + } + + return { x: x, y: y }; + }, + + _reposition: function( o ) { + // We only care about position-related parameters for repositioning + o = { x: o.x, y: o.y, positionTo: o.positionTo }; + this._trigger( "beforeposition", o ); + this._ui.container.offset( this._placementCoords( this._desiredCoords( o ) ) ); + }, + + reposition: function( o ) { + if ( this._isOpen ) { + this._reposition( o ); + } + }, + + _openPrereqsComplete: function() { + this._ui.container.addClass( "ui-popup-active" ); + this._isOpen = true; + this._resizeScreen(); + this._ui.container.attr( "tabindex", "0" ).focus(); + this._ignoreResizeEvents(); + this._trigger( "afteropen" ); + }, + + _open: function( options ) { + var o = $.extend( {}, this.options, options ), + // TODO move blacklist to private method + androidBlacklist = ( function() { + var w = window, + ua = navigator.userAgent, + // Rendering engine is Webkit, and capture major version + wkmatch = ua.match( /AppleWebKit\/([0-9\.]+)/ ), + wkversion = !!wkmatch && wkmatch[ 1 ], + androidmatch = ua.match( /Android (\d+(?:\.\d+))/ ), + andversion = !!androidmatch && androidmatch[ 1 ], + chromematch = ua.indexOf( "Chrome" ) > -1; + + // Platform is Android, WebKit version is greater than 534.13 ( Android 3.2.1 ) and not Chrome. + if( androidmatch !== null && andversion === "4.0" && wkversion && wkversion > 534.13 && !chromematch ) { + return true; + } + return false; + }()); + + // Count down to triggering "popupafteropen" - we have two prerequisites: + // 1. The popup window animation completes (container()) + // 2. The screen opacity animation completes (screen()) + this._createPrereqs( + $.noop, + $.noop, + $.proxy( this, "_openPrereqsComplete" ) ); + + this._currentTransition = o.transition; + this._applyTransition( o.transition ); + + if ( !this.options.theme ) { + this._setTheme( this._page.jqmData( "theme" ) || $.mobile.getInheritedTheme( this._page, "c" ) ); + } + + this._ui.screen.removeClass( "ui-screen-hidden" ); + this._ui.container.removeClass( "ui-popup-hidden" ); + + // Give applications a chance to modify the contents of the container before it appears + this._reposition( o ); + + if ( this.options.overlayTheme && androidBlacklist ) { + /* TODO: + The native browser on Android 4.0.X ("Ice Cream Sandwich") suffers from an issue where the popup overlay appears to be z-indexed + above the popup itself when certain other styles exist on the same page -- namely, any element set to `position: fixed` and certain + types of input. These issues are reminiscent of previously uncovered bugs in older versions of Android's native browser: + https://github.com/scottjehl/Device-Bugs/issues/3 + + This fix closes the following bugs ( I use "closes" with reluctance, and stress that this issue should be revisited as soon as possible ): + + https://github.com/jquery/jquery-mobile/issues/4816 + https://github.com/jquery/jquery-mobile/issues/4844 + https://github.com/jquery/jquery-mobile/issues/4874 + */ + + // TODO sort out why this._page isn't working + this.element.closest( ".ui-page" ).addClass( "ui-popup-open" ); + } + this._animate({ + additionalCondition: true, + transition: o.transition, + classToRemove: "", + screenClassToAdd: "in", + containerClassToAdd: "in", + applyTransition: false, + prereqs: this._prereqs + }); + }, + + _closePrereqScreen: function() { + this._ui.screen + .removeClass( "out" ) + .addClass( "ui-screen-hidden" ); + }, + + _closePrereqContainer: function() { + this._ui.container + .removeClass( "reverse out" ) + .addClass( "ui-popup-hidden" ) + .removeAttr( "style" ); + }, + + _closePrereqsDone: function() { + var opts = this.options; + + this._ui.container.removeAttr( "tabindex" ); + + // remove the global mutex for popups + $.mobile.popup.active = undefined; + + // alert users that the popup is closed + this._trigger( "afterclose" ); + }, + + _close: function( immediate ) { + this._ui.container.removeClass( "ui-popup-active" ); + this._page.removeClass( "ui-popup-open" ); + + this._isOpen = false; + + // Count down to triggering "popupafterclose" - we have two prerequisites: + // 1. The popup window reverse animation completes (container()) + // 2. The screen opacity animation completes (screen()) + this._createPrereqs( + $.proxy( this, "_closePrereqScreen" ), + $.proxy( this, "_closePrereqContainer" ), + $.proxy( this, "_closePrereqsDone" ) ); + + this._animate( { + additionalCondition: this._ui.screen.hasClass( "in" ), + transition: ( immediate ? "none" : ( this._currentTransition ) ), + classToRemove: "in", + screenClassToAdd: "out", + containerClassToAdd: "reverse out", + applyTransition: true, + prereqs: this._prereqs + }); + }, + + _unenhance: function() { + // Put the element back to where the placeholder was and remove the "ui-popup" class + this._setTheme( "none" ); + this.element + // Cannot directly insertAfter() - we need to detach() first, because + // insertAfter() will do nothing if the payload div was not attached + // to the DOM at the time the widget was created, and so the payload + // will remain inside the container even after we call insertAfter(). + // If that happens and we remove the container a few lines below, we + // will cause an infinite recursion - #5244 + .detach() + .insertAfter( this._ui.placeholder ) + .removeClass( "ui-popup ui-overlay-shadow ui-corner-all" ); + this._ui.screen.remove(); + this._ui.container.remove(); + this._ui.placeholder.remove(); + }, + + _destroy: function() { + if ( $.mobile.popup.active === this ) { + this.element.one( "popupafterclose", $.proxy( this, "_unenhance" ) ); + this.close(); + } else { + this._unenhance(); + } + }, + + _closePopup: function( e, data ) { + var parsedDst, toUrl, o = this.options, immediate = false; + + // restore location on screen + window.scrollTo( 0, this._scrollTop ); + + if ( e && e.type === "pagebeforechange" && data ) { + // Determine whether we need to rapid-close the popup, or whether we can + // take the time to run the closing transition + if ( typeof data.toPage === "string" ) { + parsedDst = data.toPage; + } else { + parsedDst = data.toPage.jqmData( "url" ); + } + parsedDst = $.mobile.path.parseUrl( parsedDst ); + toUrl = parsedDst.pathname + parsedDst.search + parsedDst.hash; + + if ( this._myUrl !== $.mobile.path.makeUrlAbsolute( toUrl ) ) { + // Going to a different page - close immediately + immediate = true; + } else { + e.preventDefault(); + } + } + + // remove nav bindings + o.container.unbind( o.closeEvents ); + // unbind click handlers added when history is disabled + this.element.undelegate( o.closeLinkSelector, o.closeLinkEvents ); + + this._close( immediate ); + }, + + // any navigation event after a popup is opened should close the popup + // NOTE the pagebeforechange is bound to catch navigation events that don't + // alter the url (eg, dialogs from popups) + _bindContainerClose: function() { + this.options.container + .one( this.options.closeEvents, $.proxy( this, "_closePopup" ) ); + }, + + // TODO no clear deliniation of what should be here and + // what should be in _open. Seems to be "visual" vs "history" for now + open: function( options ) { + var self = this, opts = this.options, url, hashkey, activePage, currentIsDialog, hasHash, urlHistory; + + // make sure open is idempotent + if( $.mobile.popup.active ) { + return; + } + + // set the global popup mutex + $.mobile.popup.active = this; + this._scrollTop = $.mobile.window.scrollTop(); + + // if history alteration is disabled close on navigate events + // and leave the url as is + if( !( opts.history ) ) { + self._open( options ); + self._bindContainerClose(); + + // When histoy is disabled we have to grab the data-rel + // back link clicks so we can close the popup instead of + // relying on history to do it for us + self.element + .delegate( opts.closeLinkSelector, opts.closeLinkEvents, function( e ) { + self.close(); + e.preventDefault(); + }); + + return; + } + + // cache some values for min/readability + urlHistory = $.mobile.urlHistory; + hashkey = $.mobile.dialogHashKey; + activePage = $.mobile.activePage; + currentIsDialog = activePage.is( ".ui-dialog" ); + this._myUrl = url = urlHistory.getActive().url; + hasHash = ( url.indexOf( hashkey ) > -1 ) && !currentIsDialog && ( urlHistory.activeIndex > 0 ); + + if ( hasHash ) { + self._open( options ); + self._bindContainerClose(); + return; + } + + // if the current url has no dialog hash key proceed as normal + // otherwise, if the page is a dialog simply tack on the hash key + if ( url.indexOf( hashkey ) === -1 && !currentIsDialog ){ + url = url + (url.indexOf( "#" ) > -1 ? hashkey : "#" + hashkey); + } else { + url = $.mobile.path.parseLocation().hash + hashkey; + } + + // Tack on an extra hashkey if this is the first page and we've just reconstructed the initial hash + if ( urlHistory.activeIndex === 0 && url === urlHistory.initialDst ) { + url += hashkey; + } + + // swallow the the initial navigation event, and bind for the next + $(window).one( "beforenavigate", function( e ) { + e.preventDefault(); + self._open( options ); + self._bindContainerClose(); + }); + + this.urlAltered = true; + $.mobile.navigate( url, {role: "dialog"} ); + }, + + close: function() { + // make sure close is idempotent + if( $.mobile.popup.active !== this ) { + return; + } + + this._scrollTop = $.mobile.window.scrollTop(); + + if( this.options.history && this.urlAltered ) { + $.mobile.back(); + this.urlAltered = false; + } else { + // simulate the nav bindings having fired + this._closePopup(); + } + } + }); + + + // TODO this can be moved inside the widget + $.mobile.popup.handleLink = function( $link ) { + var closestPage = $link.closest( ":jqmData(role='page')" ), + scope = ( ( closestPage.length === 0 ) ? $( "body" ) : closestPage ), + // NOTE make sure to get only the hash, ie7 (wp7) return the absolute href + // in this case ruining the element selection + popup = $( $.mobile.path.parseUrl($link.attr( "href" )).hash, scope[0] ), + offset; + + if ( popup.data( "mobile-popup" ) ) { + offset = $link.offset(); + popup.popup( "open", { + x: offset.left + $link.outerWidth() / 2, + y: offset.top + $link.outerHeight() / 2, + transition: $link.jqmData( "transition" ), + positionTo: $link.jqmData( "position-to" ) + }); + } + + //remove after delay + setTimeout( function() { + // Check if we are in a listview + var $parent = $link.parent().parent(); + if ($parent.hasClass("ui-li")) { + $link = $parent.parent(); + } + $link.removeClass( $.mobile.activeBtnClass ); + }, 300 ); + }; + + // TODO move inside _create + $.mobile.document.bind( "pagebeforechange", function( e, data ) { + if ( data.options.role === "popup" ) { + $.mobile.popup.handleLink( data.options.link ); + e.preventDefault(); + } + }); + + $.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.popup.prototype.enhanceWithin( e.target, true ); + }); + +})( jQuery ); + +(function( $, undefined ) { + +$.widget( "mobile.panel", $.mobile.widget, { + options: { + classes: { + panel: "ui-panel", + panelOpen: "ui-panel-open", + panelClosed: "ui-panel-closed", + panelFixed: "ui-panel-fixed", + panelInner: "ui-panel-inner", + modal: "ui-panel-dismiss", + modalOpen: "ui-panel-dismiss-open", + pagePanel: "ui-page-panel", + pagePanelOpen: "ui-page-panel-open", + contentWrap: "ui-panel-content-wrap", + contentWrapOpen: "ui-panel-content-wrap-open", + contentWrapClosed: "ui-panel-content-wrap-closed", + contentFixedToolbar: "ui-panel-content-fixed-toolbar", + contentFixedToolbarOpen: "ui-panel-content-fixed-toolbar-open", + contentFixedToolbarClosed: "ui-panel-content-fixed-toolbar-closed", + animate: "ui-panel-animate" + }, + animate: true, + theme: "c", + position: "left", + dismissible: true, + display: "reveal", //accepts reveal, push, overlay + initSelector: ":jqmData(role='panel')", + swipeClose: true, + positionFixed: false + }, + + _panelID: null, + _closeLink: null, + _page: null, + _modal: null, + _pannelInner: null, + _wrapper: null, + _fixedToolbar: null, + + _create: function() { + var self = this, + $el = self.element, + page = $el.closest( ":jqmData(role='page')" ), + _getPageTheme = function() { + var $theme = $.data( page[0], "mobilePage" ).options.theme, + $pageThemeClass = "ui-body-" + $theme; + return $pageThemeClass; + }, + _getPanelInner = function() { + var $pannelInner = $el.find( "." + self.options.classes.panelInner ); + if ( $pannelInner.length === 0 ) { + $pannelInner = $el.children().wrapAll( '
    ' ).parent(); + } + return $pannelInner; + }, + _getWrapper = function() { + var $wrapper = page.find( "." + self.options.classes.contentWrap ); + if ( $wrapper.length === 0 ) { + $wrapper = page.children( ".ui-header:not(:jqmData(position='fixed')), .ui-content:not(:jqmData(role='popup')), .ui-footer:not(:jqmData(position='fixed'))" ).wrapAll( '
    ' ).parent(); + if ( $.support.cssTransform3d && !!self.options.animate ) { + $wrapper.addClass( self.options.classes.animate ); + } + } + return $wrapper; + }, + _getFixedToolbar = function() { + var $fixedToolbar = page.find( "." + self.options.classes.contentFixedToolbar ); + if ( $fixedToolbar.length === 0 ) { + $fixedToolbar = page.find( ".ui-header:jqmData(position='fixed'), .ui-footer:jqmData(position='fixed')" ).addClass( self.options.classes.contentFixedToolbar ); + if ( $.support.cssTransform3d && !!self.options.animate ) { + $fixedToolbar.addClass( self.options.classes.animate ); + } + } + return $fixedToolbar; + }; + + // expose some private props to other methods + $.extend( this, { + _panelID: $el.attr( "id" ), + _closeLink: $el.find( ":jqmData(rel='close')" ), + _page: $el.closest( ":jqmData(role='page')" ), + _pageTheme: _getPageTheme(), + _pannelInner: _getPanelInner(), + _wrapper: _getWrapper(), + _fixedToolbar: _getFixedToolbar() + }); + + self._addPanelClasses(); + self._wrapper.addClass( this.options.classes.contentWrapClosed ); + self._fixedToolbar.addClass( this.options.classes.contentFixedToolbarClosed ); + // add class to page so we can set "overflow-x: hidden;" for it to fix Android zoom issue + self._page.addClass( self.options.classes.pagePanel ); + + // if animating, add the class to do so + if ( $.support.cssTransform3d && !!self.options.animate ) { + this.element.addClass( self.options.classes.animate ); + } + + self._bindUpdateLayout(); + self._bindCloseEvents(); + self._bindLinkListeners(); + self._bindPageEvents(); + + if ( !!self.options.dismissible ) { + self._createModal(); + } + + self._bindSwipeEvents(); + }, + + _createModal: function( options ) { + var self = this; + + self._modal = $( "
    " ) + .on( "mousedown", function() { + self.close(); + }) + .appendTo( this._page ); + }, + + _getPosDisplayClasses: function( prefix ) { + return prefix + "-position-" + this.options.position + " " + prefix + "-display-" + this.options.display; + }, + + _getPanelClasses: function() { + var panelClasses = this.options.classes.panel + + " " + this._getPosDisplayClasses( this.options.classes.panel ) + + " " + this.options.classes.panelClosed; + + if ( this.options.theme ) { + panelClasses += " ui-body-" + this.options.theme; + } + if ( !!this.options.positionFixed ) { + panelClasses += " " + this.options.classes.panelFixed; + } + return panelClasses; + }, + + _addPanelClasses: function() { + this.element.addClass( this._getPanelClasses() ); + }, + + _bindCloseEvents: function() { + var self = this; + + self._closeLink.on( "click.panel" , function( e ) { + e.preventDefault(); + self.close(); + return false; + }); + self.element.on( "click.panel" , "a:jqmData(ajax='false')", function( e ) { + self.close(); + }); + }, + + _positionPanel: function() { + var self = this, + pannelInnerHeight = self._pannelInner.outerHeight(), + expand = pannelInnerHeight > $.mobile.getScreenHeight(); + + if ( expand || !self.options.positionFixed ) { + if ( expand ) { + self._unfixPanel(); + $.mobile.resetActivePageHeight( pannelInnerHeight ); + } + self._scrollIntoView( pannelInnerHeight ); + } else { + self._fixPanel(); + } + }, + + _scrollIntoView: function( pannelInnerHeight ) { + if ( pannelInnerHeight < $( window ).scrollTop() ) { + window.scrollTo( 0, 0 ); + } + }, + + _bindFixListener: function() { + this._on( $( window ), { "throttledresize": "_positionPanel" }); + }, + + _unbindFixListener: function() { + this._off( $( window ), "throttledresize" ); + }, + + _unfixPanel: function() { + if ( !!this.options.positionFixed && $.support.fixedPosition ) { + this.element.removeClass( this.options.classes.panelFixed ); + } + }, + + _fixPanel: function() { + if ( !!this.options.positionFixed && $.support.fixedPosition ) { + this.element.addClass( this.options.classes.panelFixed ); + } + }, + + _bindUpdateLayout: function() { + var self = this; + + self.element.on( "updatelayout", function( e ) { + if ( self._open ) { + self._positionPanel(); + } + }); + }, + + _bindLinkListeners: function() { + var self = this; + + self._page.on( "click.panel" , "a", function( e ) { + if ( this.href.split( "#" )[ 1 ] === self._panelID && self._panelID !== undefined ) { + e.preventDefault(); + var $link = $( this ); + if ( ! $link.hasClass( "ui-link" ) ) { + $link.addClass( $.mobile.activeBtnClass ); + self.element.one( "panelopen panelclose", function() { + $link.removeClass( $.mobile.activeBtnClass ); + }); + } + self.toggle(); + return false; + } + }); + }, + + _bindSwipeEvents: function() { + var self = this, + area = self._modal ? self.element.add( self._modal ) : self.element; + + // on swipe, close the panel + if( !!self.options.swipeClose ) { + if ( self.options.position === "left" ) { + area.on( "swipeleft.panel", function( e ) { + self.close(); + }); + } else { + area.on( "swiperight.panel", function( e ) { + self.close(); + }); + } + } + }, + + _bindPageEvents: function() { + var self = this; + + self._page + // Close the panel if another panel on the page opens + .on( "panelbeforeopen", function( e ) { + if ( self._open && e.target !== self.element[ 0 ] ) { + self.close(); + } + }) + // clean up open panels after page hide + .on( "pagehide", function( e ) { + if ( self._open ) { + self.close( true ); + } + }) + // on escape, close? might need to have a target check too... + .on( "keyup.panel", function( e ) { + if ( e.keyCode === 27 && self._open ) { + self.close(); + } + }); + }, + + // state storage of open or closed + _open: false, + + _contentWrapOpenClasses: null, + _fixedToolbarOpenClasses: null, + _modalOpenClasses: null, + + open: function( immediate ) { + if ( !this._open ) { + var self = this, + o = self.options, + _openPanel = function() { + self._page.off( "panelclose" ); + self._page.jqmData( "panel", "open" ); + + if ( !immediate && $.support.cssTransform3d && !!o.animate ) { + self.element.add( self._wrapper ).on( self._transitionEndEvents, complete ); + } else { + setTimeout( complete, 0 ); + } + + if ( self.options.theme && self.options.display !== "overlay" ) { + self._page + .removeClass( self._pageTheme ) + .addClass( "ui-body-" + self.options.theme ); + } + + self.element.removeClass( o.classes.panelClosed ).addClass( o.classes.panelOpen ); + + self._contentWrapOpenClasses = self._getPosDisplayClasses( o.classes.contentWrap ); + self._wrapper + .removeClass( o.classes.contentWrapClosed ) + .addClass( self._contentWrapOpenClasses + " " + o.classes.contentWrapOpen ); + + self._fixedToolbarOpenClasses = self._getPosDisplayClasses( o.classes.contentFixedToolbar ); + self._fixedToolbar + .removeClass( o.classes.contentFixedToolbarClosed ) + .addClass( self._fixedToolbarOpenClasses + " " + o.classes.contentFixedToolbarOpen ); + + self._modalOpenClasses = self._getPosDisplayClasses( o.classes.modal ) + " " + o.classes.modalOpen; + if ( self._modal ) { + self._modal.addClass( self._modalOpenClasses ); + } + }, + complete = function() { + self.element.add( self._wrapper ).off( self._transitionEndEvents, complete ); + + self._page.addClass( o.classes.pagePanelOpen ); + + self._positionPanel(); + self._bindFixListener(); + + self._trigger( "open" ); + }; + + if ( this.element.closest( ".ui-page-active" ).length < 0 ) { + immediate = true; + } + + self._trigger( "beforeopen" ); + + if ( self._page.jqmData('panel') === "open" ) { + self._page.on( "panelclose", function() { + _openPanel(); + }); + } else { + _openPanel(); + } + + self._open = true; + } + }, + + close: function( immediate ) { + if ( this._open ) { + var o = this.options, + self = this, + _closePanel = function() { + if ( !immediate && $.support.cssTransform3d && !!o.animate ) { + self.element.add( self._wrapper ).on( self._transitionEndEvents, complete ); + } else { + setTimeout( complete, 0 ); + } + + self._page.removeClass( o.classes.pagePanelOpen ); + self.element.removeClass( o.classes.panelOpen ); + self._wrapper.removeClass( o.classes.contentWrapOpen ); + self._fixedToolbar.removeClass( o.classes.contentFixedToolbarOpen ); + + if ( self._modal ) { + self._modal.removeClass( self._modalOpenClasses ); + } + }, + complete = function() { + if ( self.options.theme && self.options.display !== "overlay" ) { + self._page.removeClass( "ui-body-" + self.options.theme ).addClass( self._pageTheme ); + } + self.element.add( self._wrapper ).off( self._transitionEndEvents, complete ); + self.element.addClass( o.classes.panelClosed ); + + self._wrapper + .removeClass( self._contentWrapOpenClasses ) + .addClass( o.classes.contentWrapClosed ); + + self._fixedToolbar + .removeClass( self._fixedToolbarOpenClasses ) + .addClass( o.classes.contentFixedToolbarClosed ); + + self._fixPanel(); + self._unbindFixListener(); + $.mobile.resetActivePageHeight(); + + self._page.jqmRemoveData( "panel" ); + self._trigger( "close" ); + }; + + if ( this.element.closest( ".ui-page-active" ).length < 0 ) { + immediate = true; + } + self._trigger( "beforeclose" ); + + _closePanel(); + + self._open = false; + } + }, + + toggle: function( options ) { + this[ this._open ? "close" : "open" ](); + }, + + _transitionEndEvents: "webkitTransitionEnd oTransitionEnd otransitionend transitionend msTransitionEnd", + + _destroy: function() { + var classes = this.options.classes, + theme = this.options.theme, + hasOtherSiblingPanels = this.element.siblings( "." + classes.panel ).length; + + // create + if ( !hasOtherSiblingPanels ) { + this._wrapper.children().unwrap(); + this._page.find( "a" ).unbind( "panelopen panelclose" ); + this._page.removeClass( classes.pagePanel ); + if ( this._open ) { + this._page.jqmRemoveData( "panel" ); + this._page.removeClass( classes.pagePanelOpen ); + if ( theme ) { + this._page.removeClass( "ui-body-" + theme ).addClass( this._pageTheme ); + } + $.mobile.resetActivePageHeight(); + } + } else if ( this._open ) { + this._wrapper.removeClass( classes.contentWrapOpen ); + this._fixedToolbar.removeClass( classes.contentFixedToolbarOpen ); + this._page.jqmRemoveData( "panel" ); + this._page.removeClass( classes.pagePanelOpen ); + if ( theme ) { + this._page.removeClass( "ui-body-" + theme ).addClass( this._pageTheme ); + } + } + + this._pannelInner.children().unwrap(); + + this.element.removeClass( [ this._getPanelClasses(), classes.panelAnimate ].join( " " ) ) + .off( "swipeleft.panel swiperight.panel" ) + .off( "panelbeforeopen" ) + .off( "panelhide" ) + .off( "keyup.panel" ) + .off( "updatelayout" ); + + this._closeLink.off( "click.panel" ); + + if ( this._modal ) { + this._modal.remove(); + } + + // open and close + this.element.off( this._transitionEndEvents ) + .removeClass( [ classes.panelUnfixed, classes.panelClosed, classes.panelOpen ].join( " " ) ); + } +}); + +//auto self-init widgets +$( document ).bind( "pagecreate create", function( e ) { + $.mobile.panel.prototype.enhanceWithin( e.target ); +}); + +})( jQuery ); + +(function( $, undefined ) { + +$.widget( "mobile.table", $.mobile.widget, { + + options: { + classes: { + table: "ui-table" + }, + initSelector: ":jqmData(role='table')" + }, + + _create: function() { + + var self = this, + trs = this.element.find( "thead tr" ); + + this.element.addClass( this.options.classes.table ); + + // Expose headers and allHeaders properties on the widget + // headers references the THs within the first TR in the table + self.headers = this.element.find( "tr:eq(0)" ).children(); + + // allHeaders references headers, plus all THs in the thead, which may include several rows, or not + self.allHeaders = self.headers.add( trs.children() ); + + trs.each(function(){ + + var coltally = 0; + + $( this ).children().each(function( i ){ + + var span = parseInt( $( this ).attr( "colspan" ), 10 ), + sel = ":nth-child(" + ( coltally + 1 ) + ")"; + + $( this ) + .jqmData( "colstart", coltally + 1 ); + + if( span ){ + for( var j = 0; j < span - 1; j++ ){ + coltally++; + sel += ", :nth-child(" + ( coltally + 1 ) + ")"; + } + } + + // Store "cells" data on header as a reference to all cells in the same column as this TH + $( this ) + .jqmData( "cells", self.element.find( "tr" ).not( trs.eq(0) ).not( this ).children( sel ) ); + + coltally++; + + }); + + }); + + } + +}); + +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.table.prototype.enhanceWithin( e.target ); +}); + +})( jQuery ); + + +(function( $, undefined ) { + +$.mobile.table.prototype.options.mode = "columntoggle"; + +$.mobile.table.prototype.options.columnBtnTheme = null; + +$.mobile.table.prototype.options.columnPopupTheme = null; + +$.mobile.table.prototype.options.columnBtnText = "Columns..."; + +$.mobile.table.prototype.options.classes = $.extend( + $.mobile.table.prototype.options.classes, + { + popup: "ui-table-columntoggle-popup", + columnBtn: "ui-table-columntoggle-btn", + priorityPrefix: "ui-table-priority-", + columnToggleTable: "ui-table-columntoggle" + } +); + +$.mobile.document.delegate( ":jqmData(role='table')", "tablecreate", function() { + + var $table = $( this ), + self = $table.data( "mobile-table" ), + o = self.options, + ns = $.mobile.ns; + + if( o.mode !== "columntoggle" ){ + return; + } + + self.element.addClass( o.classes.columnToggleTable ); + + var id = ( $table.attr( "id" ) || o.classes.popup ) + "-popup", //TODO BETTER FALLBACK ID HERE + $menuButton = $( "
    " + o.columnBtnText + "" ), + $popup = $( "
    "), + $menu = $("
    "); + + // create the hide/show toggles + self.headers.not( "td" ).each(function(){ + + var priority = $( this ).jqmData( "priority" ), + $cells = $( this ).add( $( this ).jqmData( "cells" ) ); + + if( priority ){ + + $cells.addClass( o.classes.priorityPrefix + priority ); + + $("" ) + .appendTo( $menu ) + .children( 0 ) + .jqmData( "cells", $cells ) + .checkboxradio({ + theme: o.columnPopupTheme + }); + } + }); + $menu.appendTo( $popup ); + + // bind change event listeners to inputs - TODO: move to a private method? + $menu.on( "change", "input", function( e ){ + if( this.checked ){ + $( this ).jqmData( "cells" ).removeClass( "ui-table-cell-hidden" ).addClass( "ui-table-cell-visible" ); + } + else { + $( this ).jqmData( "cells" ).removeClass( "ui-table-cell-visible" ).addClass( "ui-table-cell-hidden" ); + } + }); + + $menuButton + .insertBefore( $table ) + .buttonMarkup({ + theme: o.columnBtnTheme + }); + + $popup + .insertBefore( $table ) + .popup(); + + // refresh method + self.refresh = function(){ + $menu.find( "input" ).each( function(){ + this.checked = $( this ).jqmData( "cells" ).eq(0).css( "display" ) === "table-cell"; + $( this ).checkboxradio( "refresh" ); + }); + }; + + $.mobile.window.on( "throttledresize", self.refresh ); + + self.refresh(); + +}); + +})( jQuery ); + +(function( $, undefined ) { + +$.mobile.table.prototype.options.mode = "reflow"; + +$.mobile.table.prototype.options.classes = $.extend( + $.mobile.table.prototype.options.classes, + { + reflowTable: "ui-table-reflow", + cellLabels: "ui-table-cell-label" + } +); + +$.mobile.document.delegate( ":jqmData(role='table')", "tablecreate", function() { + + var $table = $( this ), + self = $table.data( "mobile-table" ), + o = self.options; + + // If it's not reflow mode, return here. + if( o.mode !== "reflow" ){ + return; + } + + self.element.addClass( o.classes.reflowTable ); + + // get headers in reverse order so that top-level headers are appended last + var reverseHeaders = $( self.allHeaders.get().reverse() ); + + // create the hide/show toggles + reverseHeaders.each(function(i){ + var $cells = $( this ).jqmData( "cells" ), + colstart = $( this ).jqmData( "colstart" ), + hierarchyClass = $cells.not( this ).filter( "thead th" ).length && " ui-table-cell-label-top", + text = $(this).text(); + + if( text !== "" ){ + + if( hierarchyClass ){ + var iteration = parseInt( $( this ).attr( "colspan" ), 10 ), + filter = ""; + + if( iteration ){ + filter = "td:nth-child("+ iteration +"n + " + ( colstart ) +")"; + } + $cells.filter( filter ).prepend( "" + text + "" ); + } + else { + $cells.prepend( "" + text + "" ); + } + + } + }); + +}); + +})( jQuery ); + +(function( $ ) { + var meta = $( "meta[name=viewport]" ), + initialContent = meta.attr( "content" ), + disabledZoom = initialContent + ",maximum-scale=1, user-scalable=no", + enabledZoom = initialContent + ",maximum-scale=10, user-scalable=yes", + disabledInitially = /(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test( initialContent ); + + $.mobile.zoom = $.extend( {}, { + enabled: !disabledInitially, + locked: false, + disable: function( lock ) { + if ( !disabledInitially && !$.mobile.zoom.locked ) { + meta.attr( "content", disabledZoom ); + $.mobile.zoom.enabled = false; + $.mobile.zoom.locked = lock || false; + } + }, + enable: function( unlock ) { + if ( !disabledInitially && ( !$.mobile.zoom.locked || unlock === true ) ) { + meta.attr( "content", enabledZoom ); + $.mobile.zoom.enabled = true; + $.mobile.zoom.locked = false; + } + }, + restore: function() { + if ( !disabledInitially ) { + meta.attr( "content", initialContent ); + $.mobile.zoom.enabled = true; + } + } + }); + +}( jQuery )); + +(function( $, undefined ) { + +$.widget( "mobile.textinput", $.mobile.widget, { + options: { + theme: null, + mini: false, + // This option defaults to true on iOS devices. + preventFocusZoom: /iPhone|iPad|iPod/.test( navigator.platform ) && navigator.userAgent.indexOf( "AppleWebKit" ) > -1, + initSelector: "input[type='text'], input[type='search'], :jqmData(type='search'), input[type='number'], :jqmData(type='number'), input[type='password'], input[type='email'], input[type='url'], input[type='tel'], textarea, input[type='time'], input[type='date'], input[type='month'], input[type='week'], input[type='datetime'], input[type='datetime-local'], input[type='color'], input:not([type]), input[type='file']", + clearBtn: false, + clearSearchButtonText: null, //deprecating for 1.3... + clearBtnText: "clear text", + disabled: false + }, + + _create: function() { + + var self = this, + input = this.element, + o = this.options, + theme = o.theme || $.mobile.getInheritedTheme( this.element, "c" ), + themeclass = " ui-body-" + theme, + miniclass = o.mini ? " ui-mini" : "", + isSearch = input.is( "[type='search'], :jqmData(type='search')" ), + focusedEl, + clearbtn, + clearBtnText = o.clearSearchButtonText || o.clearBtnText, + clearBtnBlacklist = input.is( "textarea, :jqmData(type='range')" ), + inputNeedsClearBtn = !!o.clearBtn && !clearBtnBlacklist, + inputNeedsWrap = input.is( "input" ) && !input.is( ":jqmData(type='range')" ); + + function toggleClear() { + setTimeout( function() { + clearbtn.toggleClass( "ui-input-clear-hidden", !input.val() ); + }, 0 ); + } + + $( "label[for='" + input.attr( "id" ) + "']" ).addClass( "ui-input-text" ); + + focusedEl = input.addClass( "ui-input-text ui-body-"+ theme ); + + // XXX: Temporary workaround for issue 785 (Apple bug 8910589). + // Turn off autocorrect and autocomplete on non-iOS 5 devices + // since the popup they use can't be dismissed by the user. Note + // that we test for the presence of the feature by looking for + // the autocorrect property on the input element. We currently + // have no test for iOS 5 or newer so we're temporarily using + // the touchOverflow support flag for jQM 1.0. Yes, I feel dirty. - jblas + if ( typeof input[0].autocorrect !== "undefined" && !$.support.touchOverflow ) { + // Set the attribute instead of the property just in case there + // is code that attempts to make modifications via HTML. + input[0].setAttribute( "autocorrect", "off" ); + input[0].setAttribute( "autocomplete", "off" ); + } + + //"search" and "text" input widgets + if ( isSearch ) { + focusedEl = input.wrap( "" ).parent(); + } else if ( inputNeedsWrap ) { + focusedEl = input.wrap( "
    " ).parent(); + } + + if( inputNeedsClearBtn || isSearch ) { + clearbtn = $( "" + clearBtnText + "" ) + .bind( "click", function( event ) { + input + .val( "" ) + .focus() + .trigger( "change" ); + clearbtn.addClass( "ui-input-clear-hidden" ); + event.preventDefault(); + }) + .appendTo( focusedEl ) + .buttonMarkup({ + icon: "delete", + iconpos: "notext", + corners: true, + shadow: true, + mini: o.mini + }); + + if ( !isSearch ) { + focusedEl.addClass( "ui-input-has-clear" ); + } + + toggleClear(); + + input.bind( "paste cut keyup input focus change blur", toggleClear ); + } + else if ( !inputNeedsWrap && !isSearch ) { + input.addClass( "ui-corner-all ui-shadow-inset" + themeclass + miniclass ); + } + + input.focus(function() { + // In many situations, iOS will zoom into the input upon tap, this prevents that from happening + if ( o.preventFocusZoom ) { + $.mobile.zoom.disable( true ); + } + focusedEl.addClass( $.mobile.focusClass ); + }) + .blur(function() { + focusedEl.removeClass( $.mobile.focusClass ); + if ( o.preventFocusZoom ) { + $.mobile.zoom.enable( true ); + } + }) + + // Autogrow + if ( input.is( "textarea" ) ) { + var extraLineHeight = 15, + keyupTimeoutBuffer = 100, + keyupTimeout; + + this._keyup = function() { + var scrollHeight = input[ 0 ].scrollHeight, + clientHeight = input[ 0 ].clientHeight; + + if ( clientHeight < scrollHeight ) { + input.height( scrollHeight + extraLineHeight ); + } + }; + + input.on( "keyup change input paste", function() { + clearTimeout( keyupTimeout ); + keyupTimeout = setTimeout( self._keyup, keyupTimeoutBuffer ); + }); + + // binding to pagechange here ensures that for pages loaded via + // ajax the height is recalculated without user input + this._on( $.mobile.document, { "pagechange": "_keyup" }); + + // Issue 509: the browser is not providing scrollHeight properly until the styles load + if ( $.trim( input.val() ) ) { + // bind to the window load to make sure the height is calculated based on BOTH + // the DOM and CSS + this._on( $.mobile.window, {"load": "_keyup"}); + } + } + if ( input.attr( "disabled" ) ) { + this.disable(); + } + }, + + disable: function() { + var $el, + isSearch = this.element.is( "[type='search'], :jqmData(type='search')" ), + inputNeedsWrap = this.element.is( "input" ) && !this.element.is( ":jqmData(type='range')" ), + parentNeedsDisabled = this.element.attr( "disabled", true ) && ( inputNeedsWrap || isSearch ); + + if ( parentNeedsDisabled ) { + $el = this.element.parent(); + } else { + $el = this.element; + } + $el.addClass( "ui-disabled" ); + return this._setOption( "disabled", true ); + }, + + enable: function() { + var $el, + isSearch = this.element.is( "[type='search'], :jqmData(type='search')" ), + inputNeedsWrap = this.element.is( "input" ) && !this.element.is( ":jqmData(type='range')" ), + parentNeedsEnabled = this.element.attr( "disabled", false ) && ( inputNeedsWrap || isSearch ); + + if ( parentNeedsEnabled ) { + $el = this.element.parent(); + } else { + $el = this.element; + } + $el.removeClass( "ui-disabled" ); + return this._setOption( "disabled", false ); + } +}); + +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.textinput.prototype.enhanceWithin( e.target, true ); +}); + +})( jQuery ); + +(function( $, undefined ) { + +$.mobile.listview.prototype.options.filter = false; +$.mobile.listview.prototype.options.filterPlaceholder = "Filter items..."; +$.mobile.listview.prototype.options.filterTheme = "c"; +$.mobile.listview.prototype.options.filterReveal = false; +// TODO rename callback/deprecate and default to the item itself as the first argument +var defaultFilterCallback = function( text, searchValue, item ) { + return text.toString().toLowerCase().indexOf( searchValue ) === -1; + }; + +$.mobile.listview.prototype.options.filterCallback = defaultFilterCallback; + +$.mobile.document.delegate( "ul, ol", "listviewcreate", function() { + + var list = $( this ), + listview = list.data( "mobile-listview" ); + + if ( !listview.options.filter ) { + return; + } + + if ( listview.options.filterReveal ) { + list.children().addClass( "ui-screen-hidden" ); + } + + var wrapper = $( "
    ", { + "class": "ui-listview-filter ui-bar-" + listview.options.filterTheme, + "role": "search" + }).submit( function( e ) { + e.preventDefault(); + search.blur(); + }), + onKeyUp = function( e ) { + var $this = $( this ), + val = this.value.toLowerCase(), + listItems = null, + li = list.children(), + lastval = $this.jqmData( "lastval" ) + "", + childItems = false, + itemtext = "", + item, + // Check if a custom filter callback applies + isCustomFilterCallback = listview.options.filterCallback !== defaultFilterCallback; + + if ( lastval && lastval === val ) { + // Execute the handler only once per value change + return; + } + + listview._trigger( "beforefilter", "beforefilter", { input: this } ); + + // Change val as lastval for next execution + $this.jqmData( "lastval" , val ); + if ( isCustomFilterCallback || val.length < lastval.length || val.indexOf( lastval ) !== 0 ) { + + // Custom filter callback applies or removed chars or pasted something totally different, check all items + listItems = list.children(); + } else { + + // Only chars added, not removed, only use visible subset + listItems = list.children( ":not(.ui-screen-hidden)" ); + + if ( !listItems.length && listview.options.filterReveal ) { + listItems = list.children( ".ui-screen-hidden" ); + } + } + + if ( val ) { + + // This handles hiding regular rows without the text we search for + // and any list dividers without regular rows shown under it + + for ( var i = listItems.length - 1; i >= 0; i-- ) { + item = $( listItems[ i ] ); + itemtext = item.jqmData( "filtertext" ) || item.text(); + + if ( item.is( "li:jqmData(role=list-divider)" ) ) { + + item.toggleClass( "ui-filter-hidequeue" , !childItems ); + + // New bucket! + childItems = false; + + } else if ( listview.options.filterCallback( itemtext, val, item ) ) { + + //mark to be hidden + item.toggleClass( "ui-filter-hidequeue" , true ); + } else { + + // There's a shown item in the bucket + childItems = true; + } + } + + // Show items, not marked to be hidden + listItems + .filter( ":not(.ui-filter-hidequeue)" ) + .toggleClass( "ui-screen-hidden", false ); + + // Hide items, marked to be hidden + listItems + .filter( ".ui-filter-hidequeue" ) + .toggleClass( "ui-screen-hidden", true ) + .toggleClass( "ui-filter-hidequeue", false ); + + } else { + + //filtervalue is empty => show all + listItems.toggleClass( "ui-screen-hidden", !!listview.options.filterReveal ); + } + listview._addFirstLastClasses( li, listview._getVisibles( li, false ), false ); + }, + search = $( "", { + placeholder: listview.options.filterPlaceholder + }) + .attr( "data-" + $.mobile.ns + "type", "search" ) + .jqmData( "lastval", "" ) + .bind( "keyup change input", onKeyUp ) + .appendTo( wrapper ) + .textinput(); + + if ( listview.options.inset ) { + wrapper.addClass( "ui-listview-filter-inset" ); + } + + wrapper.bind( "submit", function() { + return false; + }) + .insertBefore( list ); +}); + +})( jQuery ); + +(function( $, undefined ) { + +$.widget( "mobile.slider", $.mobile.widget, { + widgetEventPrefix: "slide", + + options: { + theme: null, + trackTheme: null, + disabled: false, + initSelector: "input[type='range'], :jqmData(type='range'), :jqmData(role='slider')", + mini: false, + highlight: false + }, + + _create: function() { + + // TODO: Each of these should have comments explain what they're for + var self = this, + control = this.element, + parentTheme = $.mobile.getInheritedTheme( control, "c" ), + theme = this.options.theme || parentTheme, + trackTheme = this.options.trackTheme || parentTheme, + cType = control[ 0 ].nodeName.toLowerCase(), + isSelect = this.isToggleSwitch = cType === "select", + isRangeslider = control.parent().is( ":jqmData(role='rangeslider')" ), + selectClass = ( this.isToggleSwitch ) ? "ui-slider-switch" : "", + controlID = control.attr( "id" ), + $label = $( "[for='" + controlID + "']" ), + labelID = $label.attr( "id" ) || controlID + "-label", + label = $label.attr( "id", labelID ), + min = !this.isToggleSwitch ? parseFloat( control.attr( "min" ) ) : 0, + max = !this.isToggleSwitch ? parseFloat( control.attr( "max" ) ) : control.find( "option" ).length-1, + step = window.parseFloat( control.attr( "step" ) || 1 ), + miniClass = ( this.options.mini || control.jqmData( "mini" ) ) ? " ui-mini" : "", + domHandle = document.createElement( "a" ), + handle = $( domHandle ), + domSlider = document.createElement( "div" ), + slider = $( domSlider ), + valuebg = this.options.highlight && !this.isToggleSwitch ? (function() { + var bg = document.createElement( "div" ); + bg.className = "ui-slider-bg " + $.mobile.activeBtnClass + " ui-btn-corner-all"; + return $( bg ).prependTo( slider ); + })() : false, + options; + + domHandle.setAttribute( "href", "#" ); + domSlider.setAttribute( "role", "application" ); + domSlider.className = [this.isToggleSwitch ? "ui-slider " : "ui-slider-track ",selectClass," ui-btn-down-",trackTheme," ui-btn-corner-all", miniClass].join( "" ); + domHandle.className = "ui-slider-handle"; + domSlider.appendChild( domHandle ); + + handle.buttonMarkup({ corners: true, theme: theme, shadow: true }) + .attr({ + "role": "slider", + "aria-valuemin": min, + "aria-valuemax": max, + "aria-valuenow": this._value(), + "aria-valuetext": this._value(), + "title": this._value(), + "aria-labelledby": labelID + }); + + $.extend( this, { + slider: slider, + handle: handle, + type: cType, + step: step, + max: max, + min: min, + valuebg: valuebg, + isRangeslider: isRangeslider, + dragging: false, + beforeStart: null, + userModified: false, + mouseMoved: false + }); + + if ( this.isToggleSwitch ) { + var wrapper = document.createElement( "div" ); + wrapper.className = "ui-slider-inneroffset"; + + for ( var j = 0, length = domSlider.childNodes.length; j < length; j++ ) { + wrapper.appendChild( domSlider.childNodes[j] ); + } + + domSlider.appendChild( wrapper ); + + // slider.wrapInner( "
    " ); + + // make the handle move with a smooth transition + handle.addClass( "ui-slider-handle-snapping" ); + + options = control.find( "option" ); + + for ( var i = 0, optionsCount = options.length; i < optionsCount; i++ ) { + var side = !i ? "b" : "a", + sliderTheme = !i ? " ui-btn-down-" + trackTheme : ( " " + $.mobile.activeBtnClass ), + sliderLabel = document.createElement( "div" ), + sliderImg = document.createElement( "span" ); + + sliderImg.className = ["ui-slider-label ui-slider-label-", side, sliderTheme, " ui-btn-corner-all"].join( "" ); + sliderImg.setAttribute( "role", "img" ); + sliderImg.appendChild( document.createTextNode( options[i].innerHTML ) ); + $( sliderImg ).prependTo( slider ); + } + + self._labels = $( ".ui-slider-label", slider ); + + } + + label.addClass( "ui-slider" ); + + // monitor the input for updated values + control.addClass( this.isToggleSwitch ? "ui-slider-switch" : "ui-slider-input" ); + + this._on( control, { + "change": "_controlChange", + "keyup": "_controlKeyup", + "blur": "_controlBlur", + "vmouseup": "_controlVMouseUp" + }); + + slider.bind( "vmousedown", $.proxy( this._sliderVMouseDown, this ) ) + .bind( "vclick", false ); + + // We have to instantiate a new function object for the unbind to work properly + // since the method itself is defined in the prototype (causing it to unbind everything) + this._on( document, { "vmousemove": "_preventDocumentDrag" }); + this._on( slider.add( document ), { "vmouseup": "_sliderVMouseUp" }); + + slider.insertAfter( control ); + + // wrap in a div for styling purposes + if ( !this.isToggleSwitch && !isRangeslider ) { + var wrapper = this.options.mini ? "
    " : "
    "; + + control.add( slider ).wrapAll( wrapper ); + } + + // Only add focus class to toggle switch, sliders get it automatically from ui-btn + if ( this.isToggleSwitch ) { + this.handle.bind({ + focus: function() { + slider.addClass( $.mobile.focusClass ); + }, + + blur: function() { + slider.removeClass( $.mobile.focusClass ); + } + }); + } + + // bind the handle event callbacks and set the context to the widget instance + this._on( this.handle, { + "vmousedown": "_handleVMouseDown", + "keydown": "_handleKeydown", + "keyup": "_handleKeyup" + }); + + this.handle.bind( "vclick", false ); + + if ( this._handleFormReset ) { + this._handleFormReset(); + } + + this.refresh( undefined, undefined, true ); + }, + + _controlChange: function( event ) { + // if the user dragged the handle, the "change" event was triggered from inside refresh(); don't call refresh() again + if ( this._trigger( "controlchange", event ) === false ) { + return false; + } + if ( !this.mouseMoved ) { + this.refresh( this._value(), true ); + } + }, + + _controlKeyup: function( event ) { // necessary? + this.refresh( this._value(), true, true ); + }, + + _controlBlur: function( event ) { + this.refresh( this._value(), true ); + }, + + // it appears the clicking the up and down buttons in chrome on + // range/number inputs doesn't trigger a change until the field is + // blurred. Here we check thif the value has changed and refresh + _controlVMouseUp: function( event ) { + this._checkedRefresh(); + }, + + // NOTE force focus on handle + _handleVMouseDown: function( event ) { + this.handle.focus(); + }, + + _handleKeydown: function( event ) { + var index = this._value(); + if ( this.options.disabled ) { + return; + } + + // In all cases prevent the default and mark the handle as active + switch ( event.keyCode ) { + case $.mobile.keyCode.HOME: + case $.mobile.keyCode.END: + case $.mobile.keyCode.PAGE_UP: + case $.mobile.keyCode.PAGE_DOWN: + case $.mobile.keyCode.UP: + case $.mobile.keyCode.RIGHT: + case $.mobile.keyCode.DOWN: + case $.mobile.keyCode.LEFT: + event.preventDefault(); + + if ( !this._keySliding ) { + this._keySliding = true; + this.handle.addClass( "ui-state-active" ); + } + + break; + } + + // move the slider according to the keypress + switch ( event.keyCode ) { + case $.mobile.keyCode.HOME: + this.refresh( this.min ); + break; + case $.mobile.keyCode.END: + this.refresh( this.max ); + break; + case $.mobile.keyCode.PAGE_UP: + case $.mobile.keyCode.UP: + case $.mobile.keyCode.RIGHT: + this.refresh( index + this.step ); + break; + case $.mobile.keyCode.PAGE_DOWN: + case $.mobile.keyCode.DOWN: + case $.mobile.keyCode.LEFT: + this.refresh( index - this.step ); + break; + } + }, // remove active mark + + _handleKeyup: function( event ) { + if ( this._keySliding ) { + this._keySliding = false; + this.handle.removeClass( "ui-state-active" ); + } + }, + + _sliderVMouseDown: function( event ) { + // NOTE: we don't do this in refresh because we still want to + // support programmatic alteration of disabled inputs + if ( this.options.disabled ) { + return false; + } + if ( this._trigger( "beforestart", event ) === false ) { + return false; + } + this.dragging = true; + this.userModified = false; + this.mouseMoved = false; + + if ( this.isToggleSwitch ) { + this.beforeStart = this.element[0].selectedIndex; + } + + + this.refresh( event ); + this._trigger( "start" ); + return false; + }, + + _sliderVMouseUp: function() { + if ( this.dragging ) { + this.dragging = false; + + if ( this.isToggleSwitch ) { + // make the handle move with a smooth transition + this.handle.addClass( "ui-slider-handle-snapping" ); + + if ( this.mouseMoved ) { + // this is a drag, change the value only if user dragged enough + if ( this.userModified ) { + this.refresh( this.beforeStart === 0 ? 1 : 0 ); + } else { + this.refresh( this.beforeStart ); + } + } else { + // this is just a click, change the value + this.refresh( this.beforeStart === 0 ? 1 : 0 ); + } + } + + this.mouseMoved = false; + this._trigger( "stop" ); + return false; + } + }, + + _preventDocumentDrag: function( event ) { + // NOTE: we don't do this in refresh because we still want to + // support programmatic alteration of disabled inputs + if ( this._trigger( "drag", event ) === false) { + return false; + } + if ( this.dragging && !this.options.disabled ) { + + // this.mouseMoved must be updated before refresh() because it will be used in the control "change" event + this.mouseMoved = true; + + if ( this.isToggleSwitch ) { + // make the handle move in sync with the mouse + this.handle.removeClass( "ui-slider-handle-snapping" ); + } + + this.refresh( event ); + + // only after refresh() you can calculate this.userModified + this.userModified = this.beforeStart !== this.element[0].selectedIndex; + return false; + } + }, + + _checkedRefresh: function() { + if ( this.value != this._value() ) { + this.refresh( this._value() ); + } + }, + + _value: function() { + return this.isToggleSwitch ? this.element[0].selectedIndex : parseFloat( this.element.val() ) ; + }, + + + _reset: function() { + this.refresh( undefined, false, true ); + }, + + refresh: function( val, isfromControl, preventInputUpdate ) { + // NOTE: we don't return here because we want to support programmatic + // alteration of the input value, which should still update the slider + + var self = this, + parentTheme = $.mobile.getInheritedTheme( this.element, "c" ), + theme = this.options.theme || parentTheme, + trackTheme = this.options.trackTheme || parentTheme; + + self.slider[0].className = [ this.isToggleSwitch ? "ui-slider ui-slider-switch" : "ui-slider-track"," ui-btn-down-" + trackTheme,' ui-btn-corner-all', ( this.options.mini ) ? " ui-mini":""].join( "" ); + if ( this.options.disabled || this.element.attr( "disabled" ) ) { + this.disable(); + } + + // set the stored value for comparison later + this.value = this._value(); + if ( this.options.highlight && !this.isToggleSwitch && this.slider.find( ".ui-slider-bg" ).length === 0 ) { + this.valuebg = (function() { + var bg = document.createElement( "div" ); + bg.className = "ui-slider-bg " + $.mobile.activeBtnClass + " ui-btn-corner-all"; + return $( bg ).prependTo( self.slider ); + })(); + } + this.handle.buttonMarkup({ corners: true, theme: theme, shadow: true }); + + var pxStep, percent, + control = this.element, + isInput = !this.isToggleSwitch, + optionElements = isInput ? [] : control.find( "option" ), + min = isInput ? parseFloat( control.attr( "min" ) ) : 0, + max = isInput ? parseFloat( control.attr( "max" ) ) : optionElements.length - 1, + step = ( isInput && parseFloat( control.attr( "step" ) ) > 0 ) ? parseFloat( control.attr( "step" ) ) : 1; + + if ( typeof val === "object" ) { + var left, width, data = val, + // a slight tolerance helped get to the ends of the slider + tol = 8; + + left = this.slider.offset().left; + width = this.slider.width(); + pxStep = width/((max-min)/step); + if ( !this.dragging || + data.pageX < left - tol || + data.pageX > left + width + tol ) { + return; + } + if ( pxStep > 1 ) { + percent = ( ( data.pageX - left ) / width ) * 100; + } else { + percent = Math.round( ( ( data.pageX - left ) / width ) * 100 ); + } + } else { + if ( val == null ) { + val = isInput ? parseFloat( control.val() || 0 ) : control[0].selectedIndex; + } + percent = ( parseFloat( val ) - min ) / ( max - min ) * 100; + } + + if ( isNaN( percent ) ) { + return; + } + + var newval = ( percent / 100 ) * ( max - min ) + min; + + //from jQuery UI slider, the following source will round to the nearest step + var valModStep = ( newval - min ) % step; + var alignValue = newval - valModStep; + + if ( Math.abs( valModStep ) * 2 >= step ) { + alignValue += ( valModStep > 0 ) ? step : ( -step ); + } + + var percentPerStep = 100/((max-min)/step); + // Since JavaScript has problems with large floats, round + // the final value to 5 digits after the decimal point (see jQueryUI: #4124) + newval = parseFloat( alignValue.toFixed(5) ); + + if ( typeof pxStep === "undefined" ) { + pxStep = width / ( (max-min) / step ); + } + if ( pxStep > 1 && isInput ) { + percent = ( newval - min ) * percentPerStep * ( 1 / step ); + } + if ( percent < 0 ) { + percent = 0; + } + + if ( percent > 100 ) { + percent = 100; + } + + if ( newval < min ) { + newval = min; + } + + if ( newval > max ) { + newval = max; + } + + this.handle.css( "left", percent + "%" ); + + this.handle[0].setAttribute( "aria-valuenow", isInput ? newval : optionElements.eq( newval ).attr( "value" ) ); + + this.handle[0].setAttribute( "aria-valuetext", isInput ? newval : optionElements.eq( newval ).getEncodedText() ); + + this.handle[0].setAttribute( "title", isInput ? newval : optionElements.eq( newval ).getEncodedText() ); + + if ( this.valuebg ) { + this.valuebg.css( "width", percent + "%" ); + } + + // drag the label widths + if ( this._labels ) { + var handlePercent = this.handle.width() / this.slider.width() * 100, + aPercent = percent && handlePercent + ( 100 - handlePercent ) * percent / 100, + bPercent = percent === 100 ? 0 : Math.min( handlePercent + 100 - aPercent, 100 ); + + this._labels.each(function() { + var ab = $( this ).is( ".ui-slider-label-a" ); + $( this ).width( ( ab ? aPercent : bPercent ) + "%" ); + }); + } + + if ( !preventInputUpdate ) { + var valueChanged = false; + + // update control"s value + if ( isInput ) { + valueChanged = control.val() !== newval; + control.val( newval ); + } else { + valueChanged = control[ 0 ].selectedIndex !== newval; + control[ 0 ].selectedIndex = newval; + } + if ( this._trigger( "beforechange", val ) === false) { + return false; + } + if ( !isfromControl && valueChanged ) { + control.trigger( "change" ); + } + } + }, + + enable: function() { + this.element.attr( "disabled", false ); + this.slider.removeClass( "ui-disabled" ).attr( "aria-disabled", false ); + return this._setOption( "disabled", false ); + }, + + disable: function() { + this.element.attr( "disabled", true ); + this.slider.addClass( "ui-disabled" ).attr( "aria-disabled", true ); + return this._setOption( "disabled", true ); + } + +}); + +$.widget( "mobile.slider", $.mobile.slider, $.mobile.behaviors.formReset ); + +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.slider.prototype.enhanceWithin( e.target, true ); +}); + +})( jQuery ); + +(function( $, undefined ) { + $.widget( "mobile.rangeslider", $.mobile.widget, { + + options: { + theme: null, + trackTheme: null, + disabled: false, + initSelector: ":jqmData(role='rangeslider')", + mini: false, + highlight: true + }, + + _create: function() { + var secondLabel, + $el = this.element, + elClass = this.options.mini ? "ui-rangeslider ui-mini" : "ui-rangeslider", + _inputFirst = $el.find( "input" ).first(), + _inputLast = $el.find( "input" ).last(), + label = $el.find( "label" ).first(), + _sliderFirst = $.data( _inputFirst.get(0), "mobileSlider" ).slider, + _sliderLast = $.data( _inputLast.get(0), "mobileSlider" ).slider, + firstHandle = $.data( _inputFirst.get(0), "mobileSlider" ).handle, + _sliders = $( "
    " ).appendTo( $el ); + + if ( $el.find( "label" ).length > 1 ) { + secondLabel = $el.find( "label" ).last().hide(); + } + + _inputFirst.addClass( "ui-rangeslider-first" ); + _inputLast.addClass( "ui-rangeslider-last" ); + $el.addClass( elClass ); + + _sliderFirst.appendTo( _sliders ); + _sliderLast.appendTo( _sliders ); + label.prependTo( $el ); + firstHandle.prependTo( _sliderLast ); + + $.extend( this, { + _inputFirst: _inputFirst, + _inputLast: _inputLast, + _sliderFirst: _sliderFirst, + _sliderLast: _sliderLast, + _targetVal: null, + _sliderTarget: false, + _sliders: _sliders, + _proxy: false + }); + + this.refresh(); + this._on( this.element.find( "input.ui-slider-input" ), { + "slidebeforestart": "_slidebeforestart", + "slidestop": "_slidestop", + "slidedrag": "_slidedrag", + "slidebeforechange": "_change", + "blur": "_change", + "keyup": "_change" + }); + this._on( firstHandle, { + "vmousedown": "_dragFirstHandle" + }); + }, + + _dragFirstHandle: function( event ) { + //if the first handle is dragged send the event to the first slider + $.data( this._inputFirst.get(0), "mobileSlider" ).dragging = true; + $.data( this._inputFirst.get(0), "mobileSlider" ).refresh( event ); + return false; + }, + + _slidedrag: function( event ) { + var first = $( event.target ).is( this._inputFirst ), + otherSlider = ( first ) ? this._inputLast : this._inputFirst; + + this._sliderTarget = false; + //if the drag was initaed on an extream and the other handle is focused send the events to + //the closest handle + if ( ( this._proxy === "first" && first ) || ( this._proxy === "last" && !first ) ) { + $.data( otherSlider.get(0), "mobileSlider" ).dragging = true; + $.data( otherSlider.get(0), "mobileSlider" ).refresh( event ); + return false; + } + }, + + _slidestop: function( event ) { + var first = $( event.target ).is( this._inputFirst ); + + this._proxy = false; + //this stops dragging of the handle and brings the active track to the front + //this makes clicks on the track go the the last handle used + this.element.find( "input" ).trigger( "vmouseup" ); + this._sliderFirst.css( "z-index", first ? 1 : "" ); + }, + + _slidebeforestart: function( event ) { + this._sliderTarget = false; + //if the track is the target remember this and the original value + if ( $( event.originalEvent.target ).hasClass( "ui-slider-track" ) ) { + this._sliderTarget = true; + this._targetVal = $( event.target ).val(); + } + }, + + _setOption: function( options ) { + this._superApply( options ); + this.refresh(); + }, + + refresh: function() { + var $el = this.element, + o = this.options; + + $el.find( "input" ).slider({ + theme: o.theme, + trackTheme: o.trackTheme, + disabled: o.disabled, + mini: o.mini, + highlight: o.highlight + }).slider( "refresh" ); + this._updateHighlight(); + }, + + _change: function( event ) { + if ( event.type == "keyup" ) { + this._updateHighlight(); + return false; + } + + var min = parseFloat( this._inputFirst.val(), 10 ), + max = parseFloat( this._inputLast.val(), 10 ), + first = $( event.target ).hasClass( "ui-rangeslider-first" ), + thisSlider = first ? this._inputFirst : this._inputLast, + otherSlider = first ? this._inputLast : this._inputFirst; + + if ( min > max && !this._sliderTarget ) { + //this prevents min from being greater then max + thisSlider.val( first ? max: min ).slider( "refresh" ); + this._trigger( "normalize" ); + } else if ( min > max ) { + //this makes it so clicks on the target on either extream go to the closest handle + thisSlider.val( this._targetVal ).slider( "refresh" ); + + var self = this; + //You must wait for the stack to unwind so first slider is updated before updating second + setTimeout( function() { + otherSlider.val( first ? min: max ).slider( "refresh" ); + $.data( otherSlider.get(0), "mobileSlider" ).handle.focus(); + self._sliderFirst.css( "z-index", first ? "" : 1 ); + self._trigger( "normalize" ); + }, 0 ); + this._proxy = ( first ) ? "first" : "last"; + } + //fixes issue where when both _sliders are at min they cannot be adjusted + if ( min === max ) { + $.data( thisSlider.get(0), "mobileSlider" ).handle.css( "z-index", 1 ); + $.data( otherSlider.get(0), "mobileSlider" ).handle.css( "z-index", 0 ); + } else { + $.data( otherSlider.get(0), "mobileSlider" ).handle.css( "z-index", "" ); + $.data( thisSlider.get(0), "mobileSlider" ).handle.css( "z-index", "" ); + } + + this._updateHighlight(); + + if ( min >= max ) { + return false; + } + }, + + _updateHighlight: function() { + var min = parseInt( $.data( this._inputFirst.get(0), "mobileSlider" ).handle.get(0).style.left, 10 ), + max = parseInt( $.data( this._inputLast.get(0), "mobileSlider" ).handle.get(0).style.left, 10 ), + width = (max - min); + + this.element.find( ".ui-slider-bg" ).css({ + "margin-left": min + "%", + "width": width + "%" + }); + }, + + _destroy: function() { + this.element.removeClass( "ui-rangeslider ui-mini" ).find( "label" ).show(); + this._inputFirst.after( this._sliderFirst ); + this._inputLast.after( this._sliderLast ); + this._sliders.remove(); + this.element.find( "input" ).removeClass( "ui-rangeslider-first ui-rangeslider-last" ).slider( "destroy" ); + } + + }); + +$.widget( "mobile.rangeslider", $.mobile.rangeslider, $.mobile.behaviors.formReset ); + +//auto self-init widgets +$( document ).bind( "pagecreate create", function( e ) { + $.mobile.rangeslider.prototype.enhanceWithin( e.target, true ); +}); + +})( jQuery ); +(function( $, undefined ) { + +$.widget( "mobile.selectmenu", $.mobile.widget, { + options: { + theme: null, + disabled: false, + icon: "arrow-d", + iconpos: "right", + inline: false, + corners: true, + shadow: true, + iconshadow: true, + overlayTheme: "a", + dividerTheme: "b", + hidePlaceholderMenuItems: true, + closeText: "Close", + nativeMenu: true, + // This option defaults to true on iOS devices. + preventFocusZoom: /iPhone|iPad|iPod/.test( navigator.platform ) && navigator.userAgent.indexOf( "AppleWebKit" ) > -1, + initSelector: "select:not( :jqmData(role='slider') )", + mini: false + }, + + _button: function() { + return $( "
    " ); + }, + + _setDisabled: function( value ) { + this.element.attr( "disabled", value ); + this.button.attr( "aria-disabled", value ); + return this._setOption( "disabled", value ); + }, + + _focusButton : function() { + var self = this; + + setTimeout( function() { + self.button.focus(); + }, 40); + }, + + _selectOptions: function() { + return this.select.find( "option" ); + }, + + // setup items that are generally necessary for select menu extension + _preExtension: function() { + var classes = ""; + // TODO: Post 1.1--once we have time to test thoroughly--any classes manually applied to the original element should be carried over to the enhanced element, with an `-enhanced` suffix. See https://github.com/jquery/jquery-mobile/issues/3577 + /* if ( $el[0].className.length ) { + classes = $el[0].className; + } */ + if ( !!~this.element[0].className.indexOf( "ui-btn-left" ) ) { + classes = " ui-btn-left"; + } + + if ( !!~this.element[0].className.indexOf( "ui-btn-right" ) ) { + classes = " ui-btn-right"; + } + + this.select = this.element.removeClass( "ui-btn-left ui-btn-right" ).wrap( "
    " ); + this.selectID = this.select.attr( "id" ); + this.label = $( "label[for='"+ this.selectID +"']" ).addClass( "ui-select" ); + this.isMultiple = this.select[ 0 ].multiple; + if ( !this.options.theme ) { + this.options.theme = $.mobile.getInheritedTheme( this.select, "c" ); + } + }, + + _destroy: function() { + var wrapper = this.element.parents( ".ui-select" ); + if ( wrapper.length > 0 ) { + if ( wrapper.is( ".ui-btn-left, .ui-btn-right" ) ) { + this.element.addClass( wrapper.is( ".ui-btn-left" ) ? "ui-btn-left" : "ui-btn-right" ); + } + this.element.insertAfter( wrapper ); + wrapper.remove(); + } + }, + + _create: function() { + this._preExtension(); + + // Allows for extension of the native select for custom selects and other plugins + // see select.custom for example extension + // TODO explore plugin registration + this._trigger( "beforeCreate" ); + + this.button = this._button(); + + var self = this, + + options = this.options, + + inline = options.inline || this.select.jqmData( "inline" ), + mini = options.mini || this.select.jqmData( "mini" ), + iconpos = options.icon ? ( options.iconpos || this.select.jqmData( "iconpos" ) ) : false, + + // IE throws an exception at options.item() function when + // there is no selected item + // select first in this case + selectedIndex = this.select[ 0 ].selectedIndex === -1 ? 0 : this.select[ 0 ].selectedIndex, + + // TODO values buttonId and menuId are undefined here + button = this.button + .insertBefore( this.select ) + .buttonMarkup( { + theme: options.theme, + icon: options.icon, + iconpos: iconpos, + inline: inline, + corners: options.corners, + shadow: options.shadow, + iconshadow: options.iconshadow, + mini: mini + }); + + this.setButtonText(); + + // Opera does not properly support opacity on select elements + // In Mini, it hides the element, but not its text + // On the desktop,it seems to do the opposite + // for these reasons, using the nativeMenu option results in a full native select in Opera + if ( options.nativeMenu && window.opera && window.opera.version ) { + button.addClass( "ui-select-nativeonly" ); + } + + // Add counter for multi selects + if ( this.isMultiple ) { + this.buttonCount = $( "" ) + .addClass( "ui-li-count ui-btn-up-c ui-btn-corner-all" ) + .hide() + .appendTo( button.addClass('ui-li-has-count') ); + } + + // Disable if specified + if ( options.disabled || this.element.attr('disabled')) { + this.disable(); + } + + // Events on native select + this.select.change(function() { + self.refresh(); + }); + + if ( this._handleFormReset ) { + this._handleFormReset(); + } + this.build(); + }, + + build: function() { + var self = this; + + this.select + .appendTo( self.button ) + .bind( "vmousedown", function() { + // Add active class to button + self.button.addClass( $.mobile.activeBtnClass ); + }) + .bind( "focus", function() { + self.button.addClass( $.mobile.focusClass ); + }) + .bind( "blur", function() { + self.button.removeClass( $.mobile.focusClass ); + }) + .bind( "focus vmouseover", function() { + self.button.trigger( "vmouseover" ); + }) + .bind( "vmousemove", function() { + // Remove active class on scroll/touchmove + self.button.removeClass( $.mobile.activeBtnClass ); + }) + .bind( "change blur vmouseout", function() { + self.button.trigger( "vmouseout" ) + .removeClass( $.mobile.activeBtnClass ); + }) + .bind( "change blur", function() { + self.button.removeClass( "ui-btn-down-" + self.options.theme ); + }); + + // In many situations, iOS will zoom into the select upon tap, this prevents that from happening + self.button.bind( "vmousedown", function() { + if ( self.options.preventFocusZoom ) { + $.mobile.zoom.disable( true ); + } + }); + self.label.bind( "click focus", function() { + if ( self.options.preventFocusZoom ) { + $.mobile.zoom.disable( true ); + } + }); + self.select.bind( "focus", function() { + if ( self.options.preventFocusZoom ) { + $.mobile.zoom.disable( true ); + } + }); + self.button.bind( "mouseup", function() { + if ( self.options.preventFocusZoom ) { + setTimeout(function() { + $.mobile.zoom.enable( true ); + }, 0 ); + } + }); + self.select.bind( "blur", function() { + if ( self.options.preventFocusZoom ) { + $.mobile.zoom.enable( true ); + } + }); + + }, + + selected: function() { + return this._selectOptions().filter( ":selected" ); + }, + + selectedIndices: function() { + var self = this; + + return this.selected().map(function() { + return self._selectOptions().index( this ); + }).get(); + }, + + setButtonText: function() { + var self = this, + selected = this.selected(), + text = this.placeholder, + span = $( document.createElement( "span" ) ); + + this.button.find( ".ui-btn-text" ).html(function() { + if ( selected.length ) { + text = selected.map(function() { + return $( this ).text(); + }).get().join( ", " ); + } else { + text = self.placeholder; + } + + // TODO possibly aggregate multiple select option classes + return span.text( text ) + .addClass( self.select.attr( "class" ) ) + .addClass( selected.attr( "class" ) ); + }); + }, + + setButtonCount: function() { + var selected = this.selected(); + + // multiple count inside button + if ( this.isMultiple ) { + this.buttonCount[ selected.length > 1 ? "show" : "hide" ]().text( selected.length ); + } + }, + + _reset: function() { + this.refresh(); + }, + + refresh: function() { + this.setButtonText(); + this.setButtonCount(); + }, + + // open and close preserved in native selects + // to simplify users code when looping over selects + open: $.noop, + close: $.noop, + + disable: function() { + this._setDisabled( true ); + this.button.addClass( "ui-disabled" ); + }, + + enable: function() { + this._setDisabled( false ); + this.button.removeClass( "ui-disabled" ); + } +}); + +$.widget( "mobile.selectmenu", $.mobile.selectmenu, $.mobile.behaviors.formReset ); + +//auto self-init widgets +$.mobile.document.bind( "pagecreate create", function( e ) { + $.mobile.selectmenu.prototype.enhanceWithin( e.target, true ); +}); +})( jQuery ); + +/* +* custom "selectmenu" plugin +*/ + +(function( $, undefined ) { + var extendSelect = function( widget ) { + + var select = widget.select, + origDestroy = widget._destroy, + selectID = widget.selectID, + prefix = ( selectID ? selectID : ( ( $.mobile.ns || "" ) + "uuid-" + widget.uuid ) ), + popupID = prefix + "-listbox", + dialogID = prefix + "-dialog", + label = widget.label, + thisPage = widget.select.closest( ".ui-page" ), + selectOptions = widget._selectOptions(), + isMultiple = widget.isMultiple = widget.select[ 0 ].multiple, + buttonId = selectID + "-button", + menuId = selectID + "-menu", + menuPage = $( "
    " + + "
    " + + "
    " + label.getEncodedText() + "
    "+ + "
    "+ + "
    "+ + "
    " ), + + listbox = $( "
    " ).insertAfter( widget.select ).popup( { theme: widget.options.overlayTheme } ), + + list = $( "